home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 095 / 151b_doc.arc / RBBS-PC.DOC < prev    next >
Text File  |  1987-06-07  |  353KB  |  6,742 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                        REMOTE BULLETIN BOARD SYSTEM
  14.  
  15.                                   for the
  16.  
  17.                            IBM Personal Computer
  18.                               Version CPC15.1
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                  Copyright 1983, 1984, 1985, 1986, 1987
  26.  
  27.                                     by
  28.  
  29.                         D. Thomas Mack
  30.                         10210 Oxfordshire Road
  31.                         Great Falls, Virginia 22066
  32.                         VOICE    -- (703) 759-4357
  33.                         DATA  #1 -- (703) 759-5049
  34.                               #2 -- (703) 759-9659 
  35.  
  36.                         Jon Martin
  37.                         4396 N. Prairie Willow Ct.
  38.                         Concord, California 94521
  39.                         DATA  -- (415) 689-2090
  40.  
  41.                         Ken Goosens
  42.                         5020 Portsmouth Road
  43.                         Fairfax, Virginia 22032
  44.                         DATA  -- (703) 978-6360
  45.  
  46.  
  47.                                June 7, 1987
  48. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  49.  
  50.                         TABLE OF CONTENTS                            Page
  51.                         -----------------                            ----
  52.  
  53.  1.0  INTRODUCTION                                                      5
  54.       1.1  The Capital PC User Group                                    
  55.       1.2  The "contributions" requested for RBBS-PC                   
  56.       1.3  The "history" behind RBBS-PC                                 6
  57.       1.4  RBBS-PC Update Conventions                                  11
  58.       1.5  Beta Test Sites, Where and Why                              12
  59.       1.6  An Example of "Users Helping Users"                         14
  60.       1.7  What's new with CPC15.1B                                    15
  61.  
  62.  2.0  RBBS-PC "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS           21
  63.  
  64.  3.0  RBBS-PC's SUPPORT POLICIES                                       22
  65.       3.1  RBBS-PC's Vendor Support Policy                             
  66.       3.2  RBBS-PC's User Support Policy                               25
  67.  
  68.  4.0  OPERATING SYSTEM REQUIREMENTS                                    26
  69.  
  70.  5.0  HOW TO GET A COPY OF RBBS-PC SENT TO YOU                         26
  71.  
  72.  6.0  FILES RBBS-PC USES                                               27
  73.       6.1  RBBS-PC System Files                                        28
  74.       6.2  RBBS-PC Text Files                                          30
  75.  
  76.  7.0  INSTALLING RBBS-PC FOR THE FIRST TIME                            31
  77.  
  78.  8.0  THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC     36
  79.  
  80.  9.0  PLANNING YOUR USER INTERFACE                                     38
  81.       9.1  Menus Shown to Callers
  82.       9.2  Subsystem Prompts Shown to Callers
  83.       9.3  Commands Available to Callers                               39
  84.       9.4  RBBS-PC's "Wrap-around" Command Search
  85.       9.5  How to Have a Single Universal Command Line                 40
  86.  
  87. 10.0  PLANNING ON HOW TO UNIQUELY IDENTIFY OF CALLERS                  42
  88.       10.1  How to Set up Identifying and Individuation of Fields      43
  89.       10.2  Preloading Identities for Instant Access
  90.  
  91. 11.0  RBBS-PC'S OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT             44
  92.       11.1  Setting it Up                                              45
  93.       11.2  An Example                                                 46
  94.  
  95. 12.0  USING THE "CONFIG" UTILITY TO CUSTOMIZE RBBS-PC                  46
  96.       12.1  Global RBBS-PC Parameters (Part 1 of 3)                    47
  97.       12.2  Global RBBS-PC Parameters (Part 2 of 3)                    49
  98.       12.3  Global RBBS-PC Parameters (Part 3 of 3)                    51
  99.       12.4  Parameters for RBBS-PC "text" Files                        52
  100.       12.5  Parameters for RBBS-PC "system" Files                      54
  101.       12.6  Parameters for RBBS-PC "Doors"                             55
  102.       12.7  Parameters for RBBS-PC's Security                          56
  103.       12.8  Parameters for Multiple RBBS-PC's/Conferences              58
  104.       12.9  RBBS-PC SYSOP Utilities                                    59
  105.       12.10 Use of DOS Subdirectories                                  60
  106.       12.11 Communications Parameters                                  63
  107.       12.12 Parameters for RBBS-PC NET-MAIL                            66
  108.       12.13 New Users Parameters                                       67
  109.  
  110.  
  111.  
  112.                        Page 2 of 149
  113. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  114.  
  115.                         TABLE OF CONTENTS (continued)                Page
  116.                         -----------------------------                ----
  117.  
  118. 13.0  THE HAYES MODEM SWITCH SETTINGS AND CONSIDERATIONS               67
  119.       13.1  Hayes Modem Switch Setting Considerations
  120.       13.2  Hayes Command's Considerations                             68
  121.             13.2.1 Command to Initialize the Modem                     69
  122.             13.2.2 Command to Set Up the Modem
  123.             13.2.3 Command to Determine What Ring to Answer On         70
  124.             13.2.4 Command to Answer the Phone
  125.             13.2.5 Command to Take the Phone Off the Hook 
  126.             13.2.6 Commands to Initialize the Modem Firmware           71
  127.  
  128. 14.0  RBBS-PC's FILE MANAGEMENT SYSTEM                                 71
  129.       14.1  Using a Single Master Directory                            74
  130.       14.2  Reasons It May NOT be Possible to Use                      
  131.                      a Single  FMS Directory                           75
  132.  
  133. 15.0  SETTING UP ".BAT" FILES FOR RBBS-PC                              76
  134.  
  135. 16.0  THE USE OF RBBS-PC "DOORS"                                       77
  136.  
  137. 17.0  THE SECURITY FEATURES OF RBBS-PC                                 79
  138.       17.1  RBBS-PC's Security Features                                80
  139.       17.2  Examples of Uses for RBBS-PC's Security System             81
  140.       17.3  How to Implement the Password File                         82
  141.       17.4  How to Implement the Security for Download Files           
  142.       17.5  How to Implement the Security for RBBS-PC Commands         84
  143.       17.6  Beware of the "Trojan Horse"                               85
  144.  
  145. 18.0  SYSOP FUNCTIONS                                                  86
  146.       18.1  SYSOP Commands Within RBBS-PC                              
  147.       18.2  SYSOP's Use of Function Keys                               87
  148.  
  149. 19.0  DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY                     89
  150.       19.1  How to Get DOS to Monitor Carrier Detect                   
  151.       19.2  How to Redirect Graphic Displays to Remote Users           90
  152.  
  153. 20.0  CONFERENCING WITH RBBS-PC                                        90
  154.  
  155. 21.0  RBBS-PC's QUESTIONNAIRE FACILITY                                 92
  156.  
  157. 22.0  RBBS-PC's Standard Interface for Protocol Drivers                95
  158.       22.1  Parameters passed to a protocol driver
  159.       22.2  Parameters returned by a protocol driver                   96
  160.       22.3  The protocol drivers available for RBBS-PC                 97
  161.             22.3.1 Columbia University's KERMIT Protocol
  162.             22.3.2 YMODEM, YMODEMG, and IMODEM 
  163.             23.3.3 Windowed XMODEM
  164.  
  165. 23.0  UPLOADED FILE TIPS                                               98
  166.  
  167. 24.0  DUE WARNING AND SYSOP'S LEGAL LIABILITY                          98
  168.  
  169. 25.0  COMPILING AND LINKING RBBS-PC                                    99
  170.       25.1  Compiling CONFIG and RBBS-PC
  171.       25.2  LINKing CONFIG              
  172.       25.3  LINKing RBBS-PC                                           101  
  173.  
  174. 26.0  LIMITED LICENSE                                                 101
  175.  
  176.  
  177.                        Page 3 of 149
  178. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  179.  
  180.                         TABLE OF CONTENTS (continued)                Page
  181.                         -----------------------------                ----
  182.  
  183. 27.0  LIMITED WARRANTY                                                101
  184.  
  185. 28.0  UPGRADING FROM CPC14-1D TO CPC15-1B                             101
  186.  
  187. 29.0  PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE                 102
  188.  
  189. 30.0  RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD                103
  190.  
  191. APPENDICES:
  192.  
  193.      A -- RBBS-PC Record Formats                                      105
  194.  
  195.      B -- RBBS-PC in a DESQview Environment                           109
  196.  
  197.      C -- RBBS-PC in a MultiLink Environment                          113
  198.  
  199.      D -- RBBS-PC in a CORVUS Network                                 115
  200.  
  201.      E -- RBBS-PC in an ORCHID or AST PCnet Network                   116
  202.  
  203.      F -- RBBS-PC in an Alloy PC-Slave/16 Environment                 119
  204.  
  205.      G -- RBBS-PC and 10-NET Network                                  125
  206.  
  207.      H -- RBBS-PC and the Hearing-Impaired                            126
  208.  
  209.      I -- RBBS-PC and the IBM PCjr                                    127
  210.  
  211.      J -- RBBS-PC Subscription Service                                129
  212.  
  213.      K -- RBBS-PC National Listing Service                            130
  214.  
  215.      L -- RBBS-PC and the Ark-Paradyne Modem Switch Settings          131
  216.  
  217.      M -- RBBS-PC and the Anchor Signalman Express (MK12)             133
  218.  
  219.      N -- RBBS-PC and the Everex 2400 Modem Switch Settings           134
  220.  
  221.      O -- RBBS-PC and the Promethus 2400G Modem Switch Settings       135
  222.  
  223.      P -- RBBS-PC and the U.S. Robotics Courier 2400 Switch Settings  136
  224.  
  225.      Q -- RBBS-PC and the FASCTOMM 2496 Turbo Modem                   137
  226.  
  227.      R -- RBBS-PC and the AT's RS-232 Cable                           139
  228.  
  229.      S -- RBBS-PC and BASIC Compiler Patches for "Doors"              140
  230.  
  231.      T -- Using RBBS-PC to access Data Bases Remotely                 145
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.                        Page 4 of 149
  243. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  244.  
  245. 1.0 INTRODUCTION
  246. ----------------
  247. RBBS-PC  is  a Remote Bulletin Board System for the IBM personal  computer,  
  248. hence  the name RBBS-PC.   RBBS-PC has two fundamental purposes -- 
  249.  
  250.    A.  to be a catalyst for the free exchange of information, and 
  251.    B.  to serve as an educational example of what can be done with BASIC.
  252.  
  253. I distribute  RBBS-PC  under  the  trademark  "Userware" because RBBS-PC is 
  254. the  sure  and  present  proof that software which is shared becomes better 
  255. than it  was.    RBBS-PC  is  the  result of many thousands of man-hours of 
  256. effort   and  is  what  it   is   today   because  of  the  many   software 
  257. contributions  and suggestions  by  members  of the Capital PC Users  Group 
  258. and others.    Everyone has something  that they believe strongly in.   For 
  259. me  it  is the "Userware" concept and the  free  exchange  of  information.   
  260. As John Naisbitt states in his book, MEGATRENDS,
  261.  
  262.          "...the new source of power is not money in the hands of 
  263.          a few, but information in the hands of the many."
  264.  
  265. For this reason I have devoted the time  I  have in writing,   maintaining,  
  266. and  enhancing  RBBS-PC  over the  years.   The  reason   that   I  am  the 
  267. registered copyright owner of RBBS-PC and grant  the  limited  license that 
  268. I do is to primarily insure that these  purposes  are  not abrogated.
  269.  
  270. 1.1 The Capital PC Users Group
  271. ------------------------------
  272. Because the fundamental purposes of RBBS-PC and the Capital PC Users  Group  
  273. are  similar,  I  package  and forward each new version of RBBS-PC  to  the  
  274. CPCUG's Software Exchange for distribution.  The Capital PC User Group is a  
  275. Maryland  Corporation whose "legal name" is the Capital PC User Group  Inc.   
  276. The  CPCUG  is an all-volunteer,  non-profit organization of  according  to 
  277. Section  501C4,   Social  Welfare,  of  federal law.   All revenues are re-
  278. invested in and applied to  the CPCUG's education programs.
  279.  
  280. 1.2  The "contributions" requested for RBBS-PC
  281. ----------------------------------------------
  282. The "contributions" requested for RBBS-PC can be one of four types:
  283.  
  284.    A.  Modifications   to  RBBS-PC,   itself,   that  are  documented   and 
  285.        distributed  as .MRG files against the "base-line" source code  that 
  286.        other SYSOP's might elect to incorporate into their version of RBBS-
  287.        PC  (remember RBBS-PC can not be distributed in modified  form  with 
  288.        violating  both  the  RBBS-PC  copyrights and  the  limited  license 
  289.        granted with it's use).
  290.  
  291.    B.  Publicly distributable software.   It can either be "public  domain" 
  292.        (i.e.  software  which  the author has relinquished all  rights  and 
  293.        which may be appropriated by anyone for use in any way), or publicly 
  294.        distributable  software  (i.e.  software  in which  the  author  has 
  295.        retained  his  rights  and which may only be used according  to  the 
  296.        conditions under which the author has designated).
  297.  
  298.    C.  Equipment  or  services.   Be  inventive in  light  of  the  CPCUG's 
  299.        objectives  under  1.1.   If you or your  organization  can   donate 
  300.        equipment,  software,  supplies, or services to the CPCUG, feel free  
  301.        to   do   so.    If  you are so inclined,   but before you  do   so,  
  302.        contact  the  Capital PC User Group,  4520 East-West Highway,  Suite 
  303.        450,  Bethesda,  MD  20854.   For  general   information  about  the 
  304.        appropriateness of the bequest,   contact the Capital  PC User Group 
  305.        directly.
  306.  
  307.                        Page 5 of 149
  308. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  309.  
  310.    D.  The last level of "contribution" is merely money.    This is the one  
  311.        commodity  that we are willing to exchange among each other  without 
  312.        first  having  obtained the respect,   consideration,   etc.  of the 
  313.        other party.   It is perhaps  the  easiest  to give as it exonerates 
  314.        us  from the  other  levels  of  "contribution."   CPCUG is  an  all 
  315.        volunteer  organization   and,    of   course,   money   is   seldom  
  316.        plentiful.    However  the essence of CPCUG is  the   time,   ideas,  
  317.        and effort that each of the volunteers contribute to it.    For this  
  318.        reason,   while money is always appreciated,   money is not the best 
  319.        or  even  the  second-best  type of "contribution" you could  make.
  320.  
  321. Independent  of  whether you can donate enhancements to  RBBS-PC,  publicly 
  322. distributable  software,    equipment,    services,   supplies,  or  money, 
  323. consider  becoming a member of CPCUG.   If you  wish to become a member  of 
  324. CPCUG,  simply send your name, address, home/work  phone numbers along with 
  325. $25 to CPCUG,  4510 East-West Highway, Suite 550, Bethesda, MD 20814.
  326.  
  327. If in the final analysis you feel that you can do none of the above,
  328.  
  329.      o remember those who have,
  330.      o enjoy what they have nurtured, and
  331.      o keep the faith with those who have gone before you.
  332.  
  333. 1.3 The "history" behind RBBS-PC
  334. --------------------------------
  335. Electronic  bulletin  board  systems have been around ever  since  personal 
  336. computers  existed.   The  first  ones  were  very  primitive  and  usually 
  337. consisted  of some posted notices and maybe allowed for  on-line  messages.  
  338. It  must be remembered that the IBM PC was only announced in August of 1981 
  339. and  first  became  available in October of  1981.   Therefore  it  is  not 
  340. surprising  that  the  early  history of BBS' is  associated  with  non-IBM 
  341. personal computers.
  342.  
  343. The  "early history" of bulletin board systems began around 1978 in Chicago 
  344. with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was 
  345. created by Ward Christensen and Randy Suess -- members of the Chicago  Area 
  346. Computer  Hobbyist Exchange (CACHE).   CBBS for the CP/M is written in 8080 
  347. Assembler  language  (11,000 lines of it) and,  like the early versions  of 
  348. RBBS-PC (i.e.  prior to CPC12-5A),  detects the baud rate and the parity of 
  349. the  user when he first signs on from the three carriage returns  that  the 
  350. user must enter.
  351.  
  352. About  the  same time,  Bill Abney wrote a BBS for the Radio  Shack  TRS-80 
  353. Models I and II called Forum-80.
  354.  
  355. The  earliest  BBS that I know of was written for the Apple (who  else  had 
  356. personal computers in those days?) called the "Apple Bulletin Board System" 
  357. (ABBS).   It was written by Craig Vaughn and Bill Blue.  They later created 
  358. another bulletin board  system for the Apple II called the People's Message 
  359. System (PMS).
  360.  
  361. Another  Apple bulletin board system that came into being was for the Apple 
  362. II,  II+,  and  IIE  as  well as the Franklin Ace and  it  was  called  the 
  363. CommuniTree.   It  was  written in the FORTH language by  Dean  Gengle  and 
  364. several others.
  365.  
  366. When  IBM announced its first personal computer,  the IBM PC,  in August of 
  367. 1981,  there was no BBS for it.  In the summer of 1982, Brad Hanson found a 
  368. prototype  version  written by Russ Lane in IBM's BASIC  on  David  Crane's 
  369. Dallas R/CPM\CBBS system.   Brad added many fixes and modifications. In the 
  370. first  half  of  1983,  many  members  of  the  Capital  PC  Users  Group's 
  371.  
  372.                        Page 6 of 149
  373. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  374.  
  375. Communication  Special  Interest  Group (SIG) such as  Larry  Jordan,  Rich 
  376. Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further 
  377. enhanced it and added XMODEM file transfer capability until it became known 
  378. as  RBBS-PC  CPC  09  in  May of  1983.   At  that  time  each  feature  or 
  379. modification  was  identified by a new version number;  it still  ran  only 
  380. under  the BASIC interpreter;  and was both relatively slow (because of the 
  381. interpreter) and somewhat unstable (it would normally "crash" at least once 
  382. each day).
  383.  
  384. Late  in  May of 1983,  I asked Rich Schinnell if there was any   "bulletin 
  385. board" software available for the IBM PC written in BASIC.  Rich told me to 
  386. give Larry Jordan a call.   Larry said that he was just getting CPC09 ready 
  387. to  send to Rich Schinnell who at that time was Director of the Capital  PC 
  388. User  Group's Public Domain Software Library and that I could get  it  from 
  389. Rich.   I  did, and still have the diskette just as Rich sent it to  me  -- 
  390. dated June 22, 1983.  
  391.  
  392. Bulletin board systems,  historically were the result of a single person or 
  393. small group of persons' efforts and tended to serve a very narrow  interest 
  394. group  -- typically  those  interested  in the  medium  itself  (i.e.  PCs, 
  395. programming,  communications,  etc.).   This  was true up to and  including 
  396. RBBS-PC  CPC09.   In fact,  most of the incentive to get the public  domain 
  397. versions  of  RBBS  (CPC09 and earlier) functioning was  to  introduce  the 
  398. XMODEM  protocol  to  the  IBM  PC-based  community.   In  this  CPC09  was 
  399. successful  and  may  have  been the primary incentive  for  XMODEM  to  be 
  400. included in PC-TALK at all.
  401.  
  402. Since  June  of 1983 I have authored and released TWENTY-EIGHT versions  of 
  403. RBBS-PC and distributed them exclusively through the Capital PC User  Group 
  404. under  the  limited license described in chapter 26 of this  documentation.  
  405. At  this  time RBBS-PC appears to have become the "industry  standard"  for 
  406. IBM-type personal computer bulletin board systems.   However, even from the 
  407. very beginning BBSs have excelled whenever:
  408.  
  409.      a.) there was a geographically dispersed audience,
  410.  
  411.      b.) with a need to exchange highly complex/technical information,
  412.  
  413.      c.) in a timely and accurate manner.
  414.  
  415. RBBS-PC's  impact has been to open an entirely new medium of communications 
  416. between people.   Rather than as an end in and of itself,  RBBS-PC has come 
  417. to  serve  as  a  means to an end -- the free  exchange  of  ideas.   On  a 
  418. technical  level  it is certainly an example that shows  "real  programmers 
  419. can/do program in BASIC."  I would like to think that RBBS-PC had something 
  420. to  do  with  IBM and Microsoft coming out with new versions of  the  BASIC 
  421. compiler  that  support  communications,  sub-routines,  local  and  global 
  422. variables, file-locking in a networking environment, etc.
  423.  
  424. RBBS-PC represents a fundamental cornerstone, not just a phase, in what can 
  425. be  viewed  as a "social renaissance."  The three  areas that  I  mentioned 
  426. earlier  in  which  bulletin  boards  excel seem to  ebb  and  flow  within 
  427. communities  and organizations.   RBBS-PC provides an almost  instantaneous 
  428. mechanism  by which these needs can be met.   Many of the Big 8  accounting 
  429. firms  bring up RBBS-PC's just to fulfill one contract so that the  various 
  430. geographically  disbursed  members on the contract can  communicate  across 
  431. time zones and continents.   Unlike radio,  newspapers,  and television  -- 
  432. RBBS-PC provides a vehicle within which information can be EXCHANGED!  That 
  433. is  what makes RBBS-PC so unique.   Because the exchange is written,  it is 
  434. structured.  Because it is structured, it can be thoughtful.
  435.  
  436.  
  437.                        Page 7 of 149
  438. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  439.  
  440. The   "social  renaissance"  that  RBBS-PC  represents  is  the  electronic 
  441. elimination of those barriers that had previously inhibited the  "exchange" 
  442. of  information  within  our  society.   RBBS-PC  provides  every  personal 
  443. computer owner with his own "soap-box" in a national Hyde Park.  Previously 
  444. the  channels  of communication had built-in barriers to  "exchange";  with 
  445. RBBS-PC those barriers begin to cease to exist.
  446.  
  447. While  only  the most fanatical RBBS-PC trivia experts may  be  interested, 
  448. I've  gone  back and checked all the documentation and releases of  RBBS-PC 
  449. that I've authored and here is the tedious chronology:
  450.  
  451. RBBS-PC Version  Release Date of        Major Enhancements
  452.     Number        First Version
  453.  
  454.    CPC10.0         07/04/83    RBBS-PC first written to be compilable by
  455.                                IBM's BASIC compiler, version 1.0
  456.  
  457.    CPC11.0         08/10/83    RBBS-PC restructured so that all parameters
  458.                                were  external  (i.e.  in  the  RBBS-PC.DEF) 
  459.                                allowing  SYSOPs who didn't want  to  spend 
  460.                                the  $300  for the BASIC compiler to  tailor 
  461.                                RBBS-PC  to  their  taste.   CONFIG.BAS  was 
  462.                                first written to generate RBBS-PC.DEF.
  463.  
  464.    CPC11.1         09/15/83    Jon Martin contributed UTSPACE.OBJ, a sub-
  465.                                routine that allowed the compiled version of 
  466.                                RBBS-PC  to  determine the  amount  of  free 
  467.                                space available for uploading.
  468.  
  469.    CPC11.2         10/01/83    The error trapping within RBBS-PC was 
  470.                                completely    re-written    to    be    more 
  471.                                comprehensive.
  472.  
  473.    CPC12.0         10/28/83    Tree-structured file directories and the
  474.                                ability to detect that RBBS-PC was in a 
  475.                                "MultiLink"  environment were  incorporated.  
  476.                                "MultiLink"  is  a product of  the  Software 
  477.                                Link,  Inc.  which allows DOS 1.1, 2.0, 2.1, 
  478.                                3.0 and 3.1 to be "multi-tasking."
  479.  
  480.    CPC12.1         12/18/83    The ability for a SYSOP who signed on
  481. (Versions A-F)                 remotely to drop into DOS was added.  Also
  482.                                the  "New"  command was added  that  allowed 
  483.                                users  to determine what new files had  been 
  484.                                made available since the last time they were 
  485.                                on.
  486.  
  487.    CPC12.2         04/08/84    The security system designed by Ken Goosens
  488. (Versions A-D)                 was incorporated.  RBBS-PC's security system
  489.                                has  an  elegance  unmatched  even  by   the 
  490.                                largest mainframe.  Essentially the security 
  491.                                system  designed  by  Ken  is  "self-locking 
  492.                                lock" and, even though RBBS-PC's source code 
  493.                                is  distributed,  it's security  system  has 
  494.                                remained  unbroken.  Of course,  SYSOPs  who 
  495.                                didn't   adhere   to   RBBS-PC's    security 
  496.                                structure  have had their  system  "crashed" 
  497.                                and  every  SYSOP should operate as  if  the 
  498.                                very next caller could crash his system.
  499.  
  500.  
  501.  
  502.                        Page 8 of 149
  503. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  504.  
  505. RBBS-PC Version  Release Date of        Major Enhancements
  506.     Number        First Version
  507.  
  508.    CPC12.3         11/11/84    This was almost as complete and as major a
  509. (Versions A-B)                 re-write of RBBS-PC as CPC10.0 had been.
  510.                                Beginning  with CPC12.3 up to nine  RBBS-PCs 
  511.                                can share the same files in either a  multi-
  512.                                tasking DOS environment (i.e. MultiLink from 
  513.                                the Software Link,  Inc.) or in a local area 
  514.                                network environment (i.e. Corvus or Orchid).
  515.  
  516.    CPC12.4         03/10/85    RBBS-PC's stature in the industry became
  517. (Versions A,                   recognized when, as author of RBBS-PC, I
  518.  A1, and B)                    was   granted  a  license  by  Microcom   to 
  519.                                incorporate  their proprietary MNP  protocol 
  520.                                into  RBBS-PC.  Almost at the same time many 
  521.                                manufactures recognized the institution that 
  522.                                RBBS-PC  had  become  in  our  industry  and 
  523.                                elected  to include "RBBS-PC  compatibility" 
  524.                                in   their   minimum   criteria   for    the 
  525.                                introduction  of their new products.   RBBS-
  526.                                PC's  Vendor Support Program is  more  fully 
  527.                                explained  in the RBBS-PC documentation  but 
  528.                                one  direct  result of this was  the  intro-
  529.                                duction  of  300/1200/2400 BAUD  support  in 
  530.                                CPC12.4A   before  most  such  modems   were 
  531.                                generally available.
  532.  
  533.    CPC12-5         07/14/85    RBBS-PC was enhanced to  allow 36  copies of
  534.  (Versions A                   RBBS-PC to share the same files in a network
  535.   and B)                       environment.   RBBS-PC automatically answers 
  536.                                the phone and no longer requires each caller 
  537.                                to  enter up to 3 carriage returns in  order 
  538.                                for  RBBS-PC to detect the users  baud  rate 
  539.                                and parity.   Logon to RBBS-PC has been made 
  540.                                much  more efficient with the USERS file  no 
  541.                                longer  being searched sequentially and  the 
  542.                                MESSAGES  file  no longer being  read  three 
  543.                                times.   Version  CPC12-5B,  released August 
  544.                                25, 1985, WAS THE LAST VERSION COMPILABLE BY 
  545.                                VERSION 1.0 OF THE IBM BASIC COMPILER!
  546.  
  547.    CPC13-1         12/01/85    RBBS-PC  was  completely  rewritten  to   be 
  548.  (Version A)                   compilable  by both the Version 2.0  of  the 
  549.                                IBM  BASIC  compiler ($495 list  price)  and 
  550.                                Microsoft's QuickBASIC Version 1.0 ($99 list 
  551.                                price). XMODEM with CRC was added as a file-
  552.                                transfer protocol as well as the ability  to 
  553.                                display  on  the  color monitor  of  the  PC 
  554.                                running  RBBS-PC the color/graphics that the 
  555.                                remote user sees exactly as he sees them.
  556.  
  557.    CPC14-1         03/16/86    RBBS-PC's internal structure was split into
  558.  (Versions A,                  two  parts -- a RBBS-PC.BAS for  the  main-
  559.   B, C, and D)                 line  source  code  and logic  and  a  RBBS-
  560.                                SUB.BAS  for  commonly  called  subroutines.  
  561.                                This allows unlimited growth for RBBS-PC  by 
  562.                                providing  multiple  "code segments"  within 
  563.                                RBBS-PC.       Support      for      on-line 
  564.                                questionnaires,  auto-downloading,  and  the 
  565.                                Columbia     University-sponsored     KERMIT 
  566.  
  567.                        Page 9 of 149
  568. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  569.  
  570. RBBS-PC Version  Release Date of        Major Enhancements
  571.     Number        First Version
  572.  
  573.                                protocol  were also included as well as  the 
  574.                                option   to   utilize   assembly    language 
  575.                                subroutines    to   increase   for    better 
  576.                                performance over their BASIC counterparts.
  577.  
  578.    CPC15-1A        03/15/87    RBBS-PC's  internal  structure continued  to 
  579.  (Versions A                   become  significantly  more modularized  and 
  580.   and B)                       structured.   Major  enhancements included a 
  581.                                File   Management  System  for  directories, 
  582.                                additional file exchange protocols,  support 
  583.                                for  managing subscriptions,  the ability to 
  584.                                run  as  a local application on  a  network, 
  585.                                configurable command letters, the ability to 
  586.                                use  any field or to define a new  field  to 
  587.                                identify callers, the ability to individuate 
  588.                                callers having the same ID, multiple uploads 
  589.                                on  a single command line,  new A)nswer  and 
  590.                                V)erbose  ARC  list  commands,  and  context 
  591.                                sensitive help.
  592.  
  593. During  the  evolution  of  RBBS-PC I have had the  distinct  privilege  of  
  594. working   with   many  contributors.    Contributions  have   ranged   from  
  595. suggestions,  to software fixes,  to significant enhancements,  to improved  
  596. documentation.  While I have met very few of these people personally, those  
  597. whose names I remember are:
  598.  
  599. Doug Azzarito      Jim Fox           Ronald Koridon      James Reinder
  600. Jeff Batdorf       Warren Fox        Steve Lieber        Jacques Rodrigue
  601. Rod Bowman         John Friel        Steven Linhart      Dick Rohrdanz
  602. Randy Brodersen    Mitch Geier       Joseph Lionelle     Rich Schinnell
  603. Mike Brown         Asa Fulton        Scott Loftesness    Mark Seiden
  604. Sam Brown          Jim Fry           Harry Logan         Andrew Silber
  605. Mike Button        Kent Galbraith    James Ludwick       Carl Spencer
  606. Vince  Castelli    John German       Matt Malden         David Staehlin
  607. Rob Cecchino       Read Gilgen       Carl Margolis       Stan Staten 
  608. Tom Collins        Ken Goosens       Jon Martin          Dorn Stickle
  609. Drew Commins       Dave Hacquebord   Robert Mahoney      Terry Steichen
  610. Ezra Conger        Steve Harrison    Sidney Markowitz    Randy Sun
  611. Ed Copley          Gary Hoff         Louie McCaw         Yew Seng Tan
  612. Richard Couture    Gary Howrith      Wes Meier           Terry Taylor
  613. Dave Crane         Charlie Innusa    John Morris         Jan Terpstra
  614. Everett Delano     Loren Jones       Bill Newkirk        David Terry
  615. Don Dewall         Larry Jordan      Jeregen Nordhausen  Arnold Thomsen
  616. Charles Doughty    Robert Jueneman   Harvey Pierce       Clark Walker
  617. Jack Fond          Vern Kallegin     Danny Plunkette     Kim Wells
  618. Randy Fuchs        Dave Kleinschmidt Jeff Porter         Bob Westcott
  619.                                                          Robert White
  620.  
  621. Special  thanks  goes  to Ken Rogers of the  United  States  Department  of 
  622. Commerce  without  whose perception and requests for enhancements  for  the 
  623. Department of Commerce's ECONOMIC BULLETIN BOARD configurable commands  and 
  624. automatic  subscription  support  would  not have  been  incorporated  into 
  625. version 15-1A of RBBS-PC.
  626.  
  627. To  those  whose names have not been mentioned -- apologies  are  extended.    
  628. Take comfort in knowing that you live on in the work that you have wrought.
  629. Jon  Martin is primarily responsible for whatever technical excellence that  
  630. exists in RBBS-PC -- including the ability to have multiple RBBS-PC's share 
  631.  
  632.                        Page 10 of 149
  633. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  634.  
  635. the same files.   I am not a programmer and didn't even know BASIC until  I  
  636. started   writing RBBS-PC and released RBBS-PC CPC10.0 in July   of   1983.   
  637. Jon's  commitment to RBBS-PC has at least matched my own.   Despite my  own  
  638. ineptness,  Jon's patience, understanding, and technical insights have been  
  639. unfailing  over  these several years and,  I would like  to  both  publicly 
  640. acknowledge his contributions to RBBS-PC and  express  my  appreciation for 
  641. his efforts on behalf of RBBS-PC.
  642.  
  643. I'd  also like to mention Ken Goosens' efforts on behalf of  RBBS-PC.   Ken  
  644. took  the  time  and  trouble to wade through the  BASIC  source  code  and  
  645. incorporated  the  "security"  system that  exists  within  RBBS-PC  today.   
  646. Anyone   who   looked   at  the source code prior to release  CPC12-2A  can 
  647. appreciate  the  magnitude  of  Ken's  efforts.
  648.  
  649. I  wish  space  allowed me to chronicle the contributions of  each  of  the  
  650. contributors   to  RBBS-PC.    In  an age  of  cynicism,  RBBS-PC  and  the  
  651. Userware  concept  represents an opportunity for each of us to give back to 
  652. the world  something a little better than when we found it.    As I said in 
  653. chapter  1,  this is something that I believe in strongly.   To each of the 
  654. contributors  to  RBBS-PC  I  would like to say personally
  655.  
  656.          "I am very  proud  of  the company that RBBS-PC keeps."
  657.  
  658. All  changes to RBBS-PC since CPC10.0 have been "ADDITIVE." By that I  mean  
  659. CPC12.5B will run the same way as  CPC10.0.   I felt that users should  not 
  660. be forced to choose between features (i.e.   I can run either the  features 
  661. on CPC11.2 or the features on CPC12.1).  
  662.  
  663. 1.4  RBBS-PC Update Conventions
  664. -------------------------------
  665. RBBS-PC   continues  to evolve and be "debugged."  The   following   coding  
  666. conventions  have been helpful in the past and you are requested to observe  
  667. them in the future: 
  668.  
  669. Updates  consist of two types of ASCII files.   One called xxxxxx.MRG which 
  670. are   the   BASIC  source  statements  for the particular base-line  source 
  671. code component of RBBS-PC to be updated.  The lines that have been modified 
  672. are indicated as being so modified with a comment beginning in column 70 in 
  673. the format as follows:
  674.  
  675. 4330 QUICK.SCAN.MESSAGES = FALSE                             ' CPC14-1D
  676.  
  677. These  .MRG  files  can be applied to the base-line  source  code  via  Ken 
  678. Goosens  Batch Line EDitor utility program (BLED).   The BLED  utility  can 
  679. easily  create  .MRG  files as it has both a file compare  and  file  merge 
  680. function   that  is  specifically  geared  to  the  new  BASIC   compiler's 
  681. capabilities that allow lines of source to be unnumbered. 
  682.  
  683. The second file type is called xxxxxx.DOC.  It  describes on a line-by-line 
  684. basis  the specific functions added or bug  that  was   fixed.    Obviously  
  685. xxxxxx  can be anything you wish to name it.    The second type of file  is 
  686. what  allows  me  to integrate several .MRG files  and   resolve   whatever  
  687. conflicts that may exist.  
  688.  
  689. The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  690.  
  691. 1.   If  a "bug" is being fixed CPCxx.x will be given a .MRG file name such  
  692. as  CPC14-1D.MRG  with  a corresponding CPC14-1D.DOC  file  describing  the  
  693. changes.    The   first  version  of  CPCxx.x  is  always "A".    When  you 
  694. logon to RBBS-PC the  version  will  be  displayed. 
  695.  
  696.  
  697.                        Page 11 of 149
  698. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  699.  
  700. 2.   If, after a release is released, bugs are reported and fixes are found 
  701. for them,  they are distributed via an FIXmmdd.ARC file which contains  the 
  702. necessary files to apply the "temporary fixes" against the released version 
  703. of the source code and re-compile the source code.
  704.  
  705. 3.   If a new feature or enhancement is added the last digit in the CPCxx.x  
  706. will be incremented by one (i.e. CPC12.2D was followed by CPC12.3A).
  707.  
  708. 4.   If a significant change to source code or logic occurs,  the first two  
  709. digits  of  the  release level will change (i.e.  CPC14.1 was  followed  by  
  710. CPC15.1)   The  purpose of these conventions is to allow everyone  to  know  
  711. what   RBBS-PC level they are running under (users as well as SYSOPs)   and  
  712. understand  the logic behind the changes/fixes as they occur so each  SYSOP  
  713. can evaluate them for his own needs.   If you have comments or fixes please  
  714. let me know so that they can be reflected in the RBBS-PC program and shared  
  715. with all other users.   You can do that by sending your changes by mail to:
  716.  
  717.                               D. Thomas Mack
  718.                           10210 Oxfordshire Road
  719.                         Great Falls, Virginia 22066
  720.  
  721. or uploading the changes to either of my RBBS-PC lines -- (703) 759-5049 or 
  722. (703) 759-9659.
  723.  
  724. While  comments  and  suggestions  are  always  welcome,   those  that  are 
  725. accompanied by the RBBS-PC source code changes that implement them  carry a 
  726. lot more weight than those that don't.
  727.  
  728. 1.5  Beta test sites, Where and Why
  729. -----------------------------------
  730. A lot of people volunteer to be "beta test" sites.  For those that do it is 
  731. fitting that you know why each release of RBBS-PC is "beta tested" and what 
  732. it takes to be "beta test" site.
  733.  
  734. Why "beta test" RBBS-PC?   Well,  the answer should be self-evident.  RBBS-
  735. PC  has  two primary goals -- one of which is "to serve as  an  educational 
  736. example  of what can be done with BASIC" (see chapter 1).   The "beta test" 
  737. process  seeks  to put each new release in as varied as an  environment  as 
  738. possible  in  order to resolve bugs in the new features as well  as  assure 
  739. that old bugs are not re-introduced by the addition of new  features.   Why 
  740. bother?  One reason is simple, professional pride in what RBBS-PC is -- the 
  741. bulletin  board  standard for the IBM PC industry.   Another reason is  the 
  742. recognition of our responsibility to those who have contributed to  RBBS-PC 
  743. and  the  obligation to not let them down by putting out a shoddy  product.     
  744.  
  745. What does it take to become a "beta test" site.  There are essentially only 
  746. 12 criteria for becoming  a beta test site.   First it takes a demonstrated 
  747. knowledge  of the logic (or lack thereof) within RBBS-PC.   To  demonstrate 
  748. this  users  who  become  "beta test" sites will  have  either  contributed 
  749. significant enhancements to RBBS-PC or contributed significant fixes to the 
  750. more esoteric "bugs" that have cropped up in RBBS-PC.
  751.  
  752. The  second  requirement  is  a commitment to  the  "Userware"  concept  as 
  753. described  in  chapter 1 of this documentation.   This  requires  that  you 
  754. insist  on  accepting neither personal recognition,  monetary  reward,  nor 
  755. benefit  for your contributions to RBBS-PC -- except the  self-satisfaction 
  756. in  knowing that whatever you contributed made RBBS-PC (and hopefully)  the 
  757. PC world better than it might otherwise have been.   This is often the most 
  758. difficult requirement for those who would be "beta testers."   RBBS-PC does 
  759. not  exist  to  be  a  means to some  individual's  personal  gain  or  ego 
  760. gratification.    Too  many  people  have  contributed  too  selflessly  of 
  761.  
  762.                        Page 12 of 149
  763. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  764.  
  765. themselves  to RBBS-PC for this to ever be allowed to happen.    For  those 
  766. for  whom  this  is a too difficult  requirement,  RBBS-PC's  totally  open 
  767. architecture  provides the .MRG/.DOC mechanism (documented in section  1.4) 
  768. to  allow individual authors of software modifications to RBBS-PC  to  both 
  769. achieve  individual  recognition  and monetary reward  from  those  RBBS-PC 
  770. SYSOP's  who  want  to  incorporate such merges  and  features  into  their 
  771. versions of RBBS-PC.   Please note that distribution of .MRG and .DOC files 
  772. is  totally consistent with the limited license that is granted with  RBBS-
  773. PC.   Also  note  that distribution of modified versions of RBBS-PC  is  in 
  774. violation of RBBS-PC's limited license agreement.
  775.  
  776. Thirdly,  you  must  be  willing  to work  within  the  three  self-imposed 
  777. constraints  of RBBS-PC (i.e.  that it contribute to the free  exchange  of 
  778. information,  be an educational example of what can be done with BASIC, and 
  779. that  all changes must be "additive.").   This requires that you be willing 
  780. to  work  within the confines and limitations of the  BASIC  language,  not 
  781. eliminate  earlier  functionalities  within RBBS-PC (only  add  new  ones), 
  782. and ALWAYS strive to structure RBBS-PC so as to foster the free exchange of 
  783. information.
  784.  
  785. The other nine "beta test" requirements in order to become a beta test site 
  786. require that you must be willing to:
  787.  
  788.    1.  Run unmodified versions of the new version of RBBS-PC.
  789.    2.  Not release any part of what you are beta testing to anyone else.
  790.    3.  Be willing to have your entire system and hard disk be vulnerable 
  791.        to software flaws in the new version of RBBS-PC.
  792.    4.  Be willing to FIX the bugs you encounter -- simply reporting
  793.        them is not enough!
  794.    5.  Live with the bugs that aren't fixed until they are fixed.
  795.    6.  Be willing to call and discuss via voice problems (at your
  796.        expense -- not mine).
  797.    7.  Be willing to call and download (almost daily during the "beta
  798.        test" period) 450K files also at your expense.
  799.    8.  Live with the fact that whatever you are beta testing is not
  800.        going to be what is actually released and that you will probably
  801.        have to download what is actually released just like every one
  802.        else.
  803.    9.  Be charitable about the author's programming skills.
  804.  
  805. Needless  to say,  those few who participate in each new release of RBBS-PC 
  806. typically are not the same people from release to release.  This is because 
  807. of  the  intensity  and time that the relatively  short  beta  test  period 
  808. (typically  two  weeks  or  less)  makes  on  the  beta  testers.   Another 
  809. constraint is my abilities to adequately respond to more than two or  three 
  810. beta  testers  at most.   Finally,  like owning a swimming pool or a  boat, 
  811. everyone wants to be a beta tester once!  There is little glory and lots of 
  812. pain.    Luckily, Jon and I usually divide up the beta testing based on who 
  813. lives east and west of the Mississippi river in order to have as many  beta 
  814. test sites as possible.  
  815.  
  816. Most  of  the  credit for RBBS-PC CPC15-1B being better  than  the  earlier 
  817. versions goes to the following beta testers:
  818.  
  819.           East Coast                          West Coast 
  820.           ----------                          ----------
  821.    Rob Cecchino, Virginia Beach, Va.     Rod Bowman, Alta Loma, Ca.
  822.    Ken Goosens, Washington, D.C.         Loren Jones, Fargo, N.D.
  823.    Dave Hacquebord, Tampa, Florida       Gene Lowry, Tuscon, Az. 
  824.    Kim Wells, Largo, Maryland            Terry Taylor, San Leandro, Ca.
  825.    Stan Staten, Gaithersburg, Md.        Mike Brown, Madison, WI
  826.  
  827.                        Page 13 of 149
  828. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  829.  
  830. 1.6  An Example of "Users Helping Users"
  831. ---------------------------------------
  832. The  ability to have multiple RBBS-PC's running concurrently -- either on a 
  833. single PC in a multitasking DOS environment or in a local area network,  is 
  834. a concrete example of the concept of "users helping users" in action.  This 
  835. ability  was  developed  in support of the efforts of  the  State  of  West 
  836. Virginia Department of Education's "West Virginia Microcomputer Educational 
  837. Network"  project.   It  is the first statewide microcomputer  network  and 
  838. encompasses  all  of  the  state's 1,125 schools  in  55  different  school 
  839. districts.      Each   school  is  intended  to  have  the  capability   of 
  840. accommodating  up  to  twenty IBM PC's in a local area  network  sharing  a 
  841. common  20MB disk drive.   As of June of 1984,  83 of the 1,125 schools had 
  842. such  networks.   Each PC can communicate with either the  LAN,  a  central 
  843. library,  or  with other schools in order to share programs and  materials.  
  844. The key component for this communication is RBBS-PC.   In a presentation at 
  845. the U.S.  Department of Education in Washington, D.C. on June 22, 1984, the 
  846. role RBBS-PC plays was described as follows:
  847.  
  848.          "The medium that ties the entire system together -- that 
  849.          allows for communication not only between one school and 
  850.          another but also between schools and the central library 
  851.          -- is  an  electronic  bulletin  board  (RBBS-PC)   This 
  852.          bulletin  board will be in operation 24 hours a  day  at 
  853.          the  central  site,  with  a similar bulletin  board  in 
  854.          operation at every school.
  855.  
  856.          The  local  school  bulletin board  (RBBS-PC)  could  be 
  857.          accessed by students who wish to review their lesson  or 
  858.          take  a test at home provided they had  a computer and a 
  859.          modem.   Teachers could access their grade book or other 
  860.          reports and lessons at home in preparation for the  next 
  861.          school day.
  862.  
  863.          Neither   bulletin  board  system   (RBBS-PC)   requires 
  864.          personnel to answer telephones or transmit files.   They 
  865.          are  both  totally unmanned and operate 24 hours a  day.  
  866.          No  toll  charges,  of course,  would  be  assessed  for 
  867.          calling  the  local school bulletin board and toll  free 
  868.          800 numbers are used for accessing the central library."
  869.  
  870. The State of West Virginia arranged to have the vendors involved,  IBM  and 
  871. Corvus,  make the appropriate equipment available on a "loan" basis so that 
  872. RBBS-PC  could  be developed to work in a local area  network  environment.  
  873. Since  this project conformed so closely to the primary objectives of RBBS-
  874. PC, we agreed to volunteer our time and take on the task of enhancing RBBS-
  875. PC  to  allow  up  to nine (9) copies of RBBS-PC  to  execute  concurrently 
  876. sharing  many  of the same files.   On a single PC the  maximum  number  of 
  877. concurrently running RBBS-PC's within the same DOS is limited only by:
  878.  
  879.         a.  the number of communications ports installed on the PC.  
  880.             IBM's limit is two (COM1 and COM2), but other vendors 
  881.             supply "add-on" cards which provide for up to eight or
  882.             more communications ports on a single PC.
  883.  
  884.         b.  the number of communications ports that the IBM BASIC
  885.             compiler can read and write to.  IBM's limit is two
  886.             (COM1 and COM2).
  887.  
  888.          c. the number of concurrently running tasks that can be
  889.             supported.  IBM's DOS is limited to one task.  Other
  890.             vendors provide "add-on" software to IBM's DOS that
  891.  
  892.                        Page 14 of 149
  893. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  894.  
  895.             provides for up to nine simultaneous tasks.
  896.  
  897. Within  a network environment (i.e.  multiple PC's linked together  sharing 
  898. the  same  devices)  the maximum number of concurrent RBBS-PC's is  set  by 
  899. RBBS-PC's internal design to nine (9).   This design was based on the  fact 
  900. that  anyone who wanted to run nine RBBS-PC's sharing the same set of files 
  901. would  take  the  $46,000 needed to buy  nine  PC's  with  modems,  network 
  902. interface cards, hard disk (at least 20MB) and purchase a minicomputer  for 
  903. the same amount of money with more ports and storage.  CPC13-1A was updated
  904. to allow for  36 RBBS-PC'S  to share  the same files.  For those interested 
  905. in  further  information  on  the State of  West  Virginia's  Microcomputer 
  906. Educational Network, please contact:
  907.  
  908.                Mr. John E. Cook
  909.                State of West Virginia Department of Education
  910.                1900 Washington Street East
  911.                Building 6, Room 221, Capital Complex
  912.                Charleston, West Virginia  25305
  913.  
  914. 1.7 What's New with CPC15-1B
  915. ----------------------------
  916. RBBS-PC  CPC15-1B is just a maintenance release containing fixes to  CPC15-
  917. 1A.   RBBS-PC CPC15-1B will be the 29th release of RBBS-PC CPCxx  since  it 
  918. was  first  published  in  July  of  1983.   RBBS-PC's  policy  of   freely 
  919. distributing  the  source  code and continually  expanding  it's  range  of 
  920. capabilities throughout these last four years represents not only the  very 
  921. best  that  is  embodied in the concept of "users  helping  users"  but  an 
  922. expectation of excellence that NO product in the PC industry has ever  even 
  923. approached.  Here is a brief summary of the major enhancements in RBBS-
  924. PC that began with CPC15-1:
  925.  
  926. o    SPEED!  RBBS-PC runs significantly faster.
  927.  
  928. o    STRUCTURE!  Code has been made easier for users to modify.  There
  929.      is more room in the main code segment and RBBS-PC more efficiently
  930.      uses string space.
  931.  
  932. o    MINIMUM SYSOP MAINTENANCE REQUIRED! There is a new, but optional, FILE 
  933.      MANAGEMENT SYSTEM (FMS) that can be set up so that the SYSOP no longer 
  934.      need  maintain his file system "directories."  Users can be allowed to 
  935.      automatically categorize the files they upload.  The new entry will be 
  936.      written  to the file management system and,  optionally,  strewn to  a 
  937.      second  file that a SYSOP might wish to edit and insert an  evaluation 
  938.      or comments about the uploaded files.   The speed of file searches has 
  939.      been increased from 10 to 100-fold. A caller can download in the midst 
  940.      of listing files,  and the listing will resume where it left off after 
  941.      downloading is completed.
  942.  
  943. o    ADDITIONAL FILE TRANSFER PROTOCOLS!  More error checking protocols for 
  944.      file  exchange.   Now  support exists  for  YMODEM,  WINDOWED  XMODEM, 
  945.      YMODEMG,  and  IMODEM  in addition to KERMIT,  XMODEM  (checksum)  and 
  946.      XMODEM (CRC).
  947.  
  948. o    LAN ELECTRONIC MAIL!  RBBS-PC can  be run as a "workstation" appearing
  949.      on the local PC's screen exactly as it would to a user who had  dialed 
  950.      in as remote user.   In "workstation" mode, RBBS-PC can be run on a PC 
  951.      without  either  a modem or a RS-232 interface.   It can serve  as  an 
  952.      electronic  mail system on a local area network in "workstation"  mode 
  953.      (up  to 36 stations) or as a teaching tool in a classroom  environment 
  954.      to demonstrate RBBS-PC's full range of features.
  955.  
  956.  
  957.                        Page 15 of 149
  958. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  959.  
  960. o    STORE-AND-FORWARD "NET MAIL" SUPPORTED!  RBBS-PC can be called by such 
  961.      "store-and-forward" network mail applications as "SeaDog" from  System 
  962.      Enhancement  Associates (the same guys who brought the ARC utility  to 
  963.      the PC environment).
  964.  
  965. o    ALL COMMANDS CONFIGURABLE!  The symbols  used for the RBBS-PC commands 
  966.      are configurable.   Any command can be disabled.   Users see only what 
  967.      commands they have sufficient security to execute.   A SYSOP can  even 
  968.      configure  RBBS-PC  so that any command can be executed from any  sub-
  969.      section.   All  of this is,  as always,  optional.   RBBS-PC tries  to 
  970.      strive  to  let  each SYSOP have total  autonomy  (rather  attempt  to 
  971.      restrict).
  972.  
  973. o    MULTIPLE  QUESTIONNAIRES!   The  new command  A)nswer  command  allows 
  974.      multiple  optional  questionnaires  to  be  set  up  that  users   can 
  975.      selectively  answer.   A SYSOP can put up a questionnaire  at  anytime 
  976.      that all users (both new and old) must answer.  A new command has been 
  977.      added  to the questionnaire script language that allows the  SYSOP  to 
  978.      elect to have nothing written to the script's data file.
  979.  
  980. o    USERS CAN VIEW ARC FILES!  Users can obtain a verbose listings of the
  981.      the contents of an ARCed file prior to downloading it.
  982.  
  983. o    TOTAL USER CONTROL OF PREFERENCES!  A user can  now T)oggle on/off any 
  984.      of his preferences.
  985.  
  986. o    UNIQUE  USER  ID'S!   With RBBS-PC CPC15-1A,  any field (not just  the 
  987.      users  name) can be used to uniquely identify users.   More  than  one 
  988.      user  can have the same ID (everyone in a the same SIG) and still have 
  989.      unique  names.   A  new field for whatever the SYSOP wants to  use  to 
  990.      identify users now exists within the Users record.  Users can be added 
  991.      with no pre-assigned password (i.e. the first caller who uses the name 
  992.      is allowed to set the password).   RBBS-PC can be set up so that valid 
  993.      accounts are pre-loaded and users can be given INSTANTANEOUS access at 
  994.      the discretion of the SYSOP, e.g. when the users becomes a member of a 
  995.      user group or SIG.
  996.  
  997. o    MULTIPLE UPLOADS!  Just as earlier versions of RBBS-PC allowed for 
  998.      multiple  downloads,  CPC15-1A  now allows multiple file names  to  be 
  999.      specified on a single command line when uploading.
  1000.  
  1001. o    BUILT-IN SUBSCRIPTION SERVICES!  RBBS-PC CPC15-1A has built in support 
  1002.      for  limiting callers based on a subscription  date.   A  subscription 
  1003.      period  can be specified for every security level,  and the security a 
  1004.      caller gets when his subscription expires is specifiable.  This allows 
  1005.      automatic   support  for  SYSOP's  who  request  users   to   purchase 
  1006.      subscription  to their boards or for time-limited privileges.   Stored 
  1007.      in each caller's record is the date the subscription began.
  1008.  
  1009. o    COMMAND-LEVEL HELP!  Help files can now be specified not just by section, 
  1010.      but  by  individual  command,  as well as a  menu  of  SYSOP-specified 
  1011.      special topics, such as ARC files.
  1012.  
  1013. o    MUSIC!  The SYSOP can elect to have the PC running RBBS-PC to play a 
  1014.      musical  refrain  each time a user selects  specific  functions  (i.e. 
  1015.      "Walk  right  in" when a new user logs on;  "Dragnet" when a  security 
  1016.      violation occurs;  "Goodbye Charlie" when a user logs off; "Taps" when 
  1017.      a user is denied access;  "OOM PAH PAH" when a user downloads; "Thanks 
  1018.      for the Memories" when a user uploads).  The auditory feedback enables 
  1019.      SYSOPS to focus on other activities without having to watch the  local 
  1020.      screen.  More importantly, this type of auditory feed-back is intended 
  1021.  
  1022.                        Page 16 of 149
  1023. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1024.  
  1025.      to aid SYSOP's who are visually impaired.
  1026.  
  1027. o    CONSTRAINTS OF EARLIER VERSIONS LIFTED!  Many of the constraints that 
  1028.      existed in versions of RBBS-PC prior to 15-1A have been lifted.   some 
  1029.      of them are:
  1030.  
  1031.            The   upload  directory  need  not  be  present  on   the   same 
  1032.            drive/subdirectory that uploaded files are written to.
  1033.  
  1034.            When the users file is full, new users need no longer be  kicked 
  1035.            off the system.  Instead, they can be let on but not remembered, 
  1036.            i.e.  not  be written to the users file.  On  subsequent  calls, 
  1037.            they will remain new users and must re-register.
  1038.  
  1039.            RBBS-PC can be logged on to from the keyboard of the PC on which 
  1040.            it is running (without calling through a modem) and will respond 
  1041.            to the PC's screen in the same manner as a remote user would see 
  1042.            it. 
  1043.  
  1044.            First  and last names can have interior blanks.  Initial  blanks 
  1045.            are still not allowed, and trailing blanks are still ignored.
  1046.  
  1047.            SYSOPs can now type while caller is entering a message and their 
  1048.            keystrokes  will  be freely mixed in with those of  caller.   In 
  1049.            earlier versions of RBBS-PC, a SYSOP's local typing was  ignored 
  1050.            during message entry.
  1051.  
  1052.            The  file  description for uploads can be up  to  46  characters 
  1053.            long.
  1054.  
  1055.            The  speed with which text files, such as menus, are  displayed, 
  1056.            can be increased by enlarging the buffer size used within  15-1A 
  1057.            for displaying ASCII files via a parameter in CONFIG.
  1058.  
  1059.            Viewing  the upload directory (or the uploads with  the  default 
  1060.            category  code)  is  controlled by  the  users  security  level.  
  1061.            Before,  if  you  made  the  upload  drive  not  available   for 
  1062.            downloading, only the SYSOP could view the upload directory.
  1063.  
  1064. o    BETTER  ERROR TRAPPING!  RBBS-PC CPC15-1 now detects and  reports  any 
  1065.      problem when writing during an upload.; recovers from any problem when 
  1066.      trying to kill a file already present before an upload; and traps  all 
  1067.      bad paths in a file name.
  1068.  
  1069. o    BETTER PROMPTS/MESSAGES!  Much effort has been expended to insure that
  1070.      where possible prompts were clarified,  messages made more meaningful, 
  1071.      and defaults consistently shown.  Some examples of this are:
  1072.  
  1073.            The  "G>raphics"  command was clarified.  The  prompt  makes  it 
  1074.            clear that ASCII and color options are for IBM computers and the 
  1075.            "help" file for the command is automatically displayed when  the 
  1076.            user is in "novice" mode.
  1077.  
  1078.            "Chat" mode now  has a beginning opening and closing message.
  1079.  
  1080.            The  prompt for a "P>assword" now clearly states  that  pressing 
  1081.            enter quits.
  1082.  
  1083.            The  "N>ulls"  command  now explains that  it  is  for  printing 
  1084.            terminals.
  1085.  
  1086.  
  1087.                        Page 17 of 149
  1088. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1089.  
  1090.            "Press [ENTER] to quit" is used more uniformly.
  1091.  
  1092.            Defaults with prompts are more uniformly indicated by putting [] 
  1093.            around the default.
  1094.  
  1095.            The  List  command  no  longer  requires  that  a  directory  be 
  1096.            specified  in advance.  The list command used alone will  prompt 
  1097.            for a directory and default to the directory of directories.
  1098.  
  1099.            The  editing command in messages is much easier to use.   It  no 
  1100.            longer requires the user to specify new and old string  together 
  1101.            but  breaks  up the edit into a search for what and  replace  by 
  1102.            what.   The  syntax from earlier versions of  RBBS-PC  is  still 
  1103.            supported  in  keeping with RBBS-PC's  long-standing  policy  of 
  1104.            being upward compatible.
  1105.  
  1106.            The  prompt  when  changing page length has  been  clarified  to 
  1107.            indicate  that the number of lines can have any value between  0 
  1108.            and 255.
  1109.  
  1110.            U>pload and D>ownload commands immediately respond with  message 
  1111.            "Searching  for  file...".  In some  configurations  with  large 
  1112.            (and/or) slow disks a user might see a significant delay with no 
  1113.            indication what was going on with this new response.
  1114.  
  1115.            If  a  1000 or more files are searched in  a  directory  without 
  1116.            filling  the screen with "hits", the caller is asked whether  he 
  1117.            wants to continue the search.
  1118.  
  1119.            Requests  for  Non-stop  in  file  searches  in  the  L)ist  and 
  1120.            S)ubstring commands require confirmation if at least a 1000 more 
  1121.            files remain to be searched.
  1122.  
  1123.            File searching supports true paging.  No longer will the menu or 
  1124.            multiple  searches  scroll  away previous  results.   The  pause 
  1125.            properly pauses at the bottom.
  1126.  
  1127.            Callers  are  now  informed explicitly  whenever  an  upload  or 
  1128.            download  was successful.  Some novices mistakenly thought  that 
  1129.            errors   during  transmission  mean  they  had  to   re-do   the 
  1130.            transmission.
  1131.  
  1132. o    ENHANCED SECURITY!  Paths are now supported in the file security system.  
  1133.      Kermit  up/down  loads  no longer list drive/path where then  file  is 
  1134.      located.   More  secure limitation of DOORS and  QUESTIONNAIRES  exist 
  1135.      since  RBBS-PC  will no longer accept proper substrings of  legitimate 
  1136.      items.
  1137.  
  1138. o    NEW DEBUG MODE!  Special debug mode has been added to allow all errors, 
  1139.      including  those that are handled within RBBS-PC,  to be seen as  they 
  1140.      occur.
  1141.  
  1142. o    AUTO-NOTIFICATION!   The SYSOP can elect to notify  users  immediately 
  1143.      upon logging on of the number of new bulletins and new files available 
  1144.      for downloading since the user last logged on.
  1145.  
  1146. o    TURBO-DOWNLOADING!   A SYSOP can allow users to review the files  that 
  1147.      are  new since the user last logged on and download  them  immediately 
  1148.      (without requiring the user to see any messages).
  1149.  
  1150.  
  1151.  
  1152.                        Page 18 of 149
  1153. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1154.  
  1155. o    INVALID  DIRECTORIES ELIMINATED!  All directories to be  searched  are 
  1156.      put in one specific drive/subdirectory in order to speed up  directory 
  1157.      searches  and simplify maintenance.  This eliminates  the  possibility 
  1158.      that  data  files with the same extension of  true  directories  being 
  1159.      considered RBBS-PC directories.
  1160.  
  1161. o    PROMPTS  WIPED  OFF  SCREEN! "MORE" prompts are  wiped  away  after  a 
  1162.      response,  except when files to download are specified.   Very  useful 
  1163.      when more interrupts continuous text, as in menu or message.
  1164.  
  1165. o    RING-NO-ANSWER  MINIMIZED!   As soon as carrier is lost or  the  SYSOP 
  1166.      takes  RBBS-PC  off line via function key F1 to use the PC  for  other 
  1167.      things, the phone is taken off the hook so callers will receive a busy 
  1168.      single (and not be charged for the call by the phone company).
  1169.  
  1170. o    AUTODOWNLOAD ENHANCED!  The SYSOP can select to turn off the automatic 
  1171.      test of every user for autodownloading.   The escape sequence test for 
  1172.      autodownloading caused problems with some communications packages  and 
  1173.      terminals.   Users now can toggle autodownloading on and off during  a 
  1174.      session and their preference will be permanently remembered.
  1175.  
  1176. Corrections incorporated in CPC15-1B that fix bugs reported in CPC15-1A are 
  1177. as follows:
  1178.  
  1179.  1.  When  creating  a new .DEF file or if configuring  non-Hayes  commands 
  1180.      without  including  the  command "S0="  in  the  modem  initialization 
  1181.      command no longer results in an ERROR 5 in line 15780.
  1182.  
  1183.  2.  RBBS-PC.EXE, as released, is now compiled against a compiler that  has 
  1184.      the  DTR patch applied.  User's should no longer get  carrier  dropped 
  1185.      when they drop to DOS or enter a DOOR.
  1186.  
  1187.  3.  RBBS-PC  now  correctly  handles  private  messages  in   conferences.  
  1188.      SYSOP's will no longer have USER records randomly "lost."
  1189.  
  1190.  4.  SYSOP's who want their modem's to "auto-answer" and either drop to DOS 
  1191.      or run "doors" (despite the vulnerability that they put themselves in) 
  1192.      can no do so.
  1193.  
  1194.  5.  The  string  to  initialize the modem when RBBS-PC  is  configured  to 
  1195.      answer on zero rings is now correct.
  1196.  
  1197.  6.  RBBS-PC  can  now select Fox Researches 10-NET as a valid  local  area 
  1198.      network.
  1199.  
  1200.  7.  CONFIG  no  longer resets the option to invoke the  external  protocol 
  1201.      drivers to "SHELL" rather than to "EXIT" each time CONFIG is invoked.
  1202.  
  1203.  8.  RBBS-PC  now  more reliably connects with users who  are  not  patient 
  1204.      enough  to allow auto-baud detect to occur (typically modems with  MNP 
  1205.      protocol  built  in have an extra 3-5 second delay  for  automatically 
  1206.      detecting the baud rate of the caller).
  1207.  
  1208.  9.  When  a user's subscription expires his USER record is  now  correctly 
  1209.      written.
  1210.  
  1211. 10.  In CONFIG the maximum number of pages displayed is now correct.
  1212.  
  1213. 11.  If  a  user  logs  on and selects all  upper  case  output  AND  color 
  1214.      graphics, the color graphics are now correct.
  1215.  
  1216.  
  1217.                        Page 19 of 149
  1218. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1219.  
  1220. 12.  RBBS-PC  now properly handles the non-FMS ".DIR" files when  (1)  file 
  1221.      searches  were  not  limited to FMS and  (2)  users  could  categorize 
  1222.      uploads.
  1223.  
  1224. 13.  RBBS-PC no longer always turns on SNOOP.
  1225.  
  1226. 14.  RBBS-PC  now dynamically allocates the dummy file "FREESPAC.UPL"  that 
  1227.      is used to calculate the amount of free space on the upload disk  area 
  1228.      when assembly language routines are not being used for speed.
  1229.  
  1230. 15.  In a MultiLink environment, RBBS-PC now correctly takes the phone  off 
  1231.      the  hook  when either dropping to DOS remotely as  the  SYSOP  (SYSOP 
  1232.      function 7) or dropping to DOS locally (Function Key 1).
  1233.  
  1234. 16.  When in local mode, RBBS-PC no longer occasionally issues an  "illegal 
  1235.      function call" message (i.e. ERROR 5).
  1236.  
  1237. 17.  RBBS-PC now sets the "auto-download" switch correctly.
  1238.  
  1239. 18.  RBBS-PC now recognizes any version EXECPC that responds  appropriately 
  1240.      as having "auto-download" capability.
  1241.  
  1242. 19.  RBBS-PC no longer can inadvertently generate two USER records for  the 
  1243.      same user when a caller leaves a protected message to another caller.
  1244.  
  1245. 20.  When answering a questionnaire, the passwords file is re-checked  upon 
  1246.      completion of the questionnaire.
  1247.  
  1248. 21.  Several  locations  in  the  code  were  corrected  to  eliminate  bad 
  1249.      programming techniques (i.e. exiting out of a WHILE/WEND loop) and  to 
  1250.      make the code more efficient.
  1251.  
  1252. 22.  When  RBBS-PC automatically drops to DOS at a specific time each  day, 
  1253.      the date and time are now recorded correctly in the Node Record.
  1254.  
  1255. 23.  When  a user in a "door" drops carrier, the next user who calls in  no 
  1256.      longer is allocated the time remaining for the previous user.
  1257.  
  1258. 24.  RBBS-PC now gives the 300 BAUD caller a reason that access was denied.
  1259.  
  1260. 25.  Users returning from "doors" or a remote SYSOP from DOS are no  longer 
  1261.      presented with the "bulletins."
  1262.  
  1263. 26.  When  a user says "G>oodbye", the time on the system is now  displayed 
  1264.      in minutes and seconds instead of minutes and 1/10ths of seconds.
  1265.  
  1266. 27.  Security  level for access to "doors" is now checked after the  "door" 
  1267.      menu is displayed.
  1268.  
  1269. 28.  Read  protected  messages  can now be left when  a  SYSOP  elected  to 
  1270.      configure RBBS-PC to use individuation.
  1271.  
  1272. 29.  A  user's record is no longer lost when switching from a private to  a 
  1273.      public conference.
  1274.  
  1275. 30.  Locked out users no longer generate a "LOCKED OUT MSG READ" message in 
  1276.      the CALLERS file.
  1277.  
  1278. 31.  When  running a pre-registered system (a "closed" system) new  callers 
  1279.      are  now  shown the file LGx.DEF (where "x"  represents  the  security 
  1280.      level for new users).
  1281.  
  1282.                        Page 20 of 149
  1283. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1284.  
  1285. 32.  Users  that try to join a non-existing conference and find  themselves 
  1286.      returned to the main message section no longer see prompts that  imply 
  1287.      that they have successfully joined the non-existing conference.
  1288.  
  1289. 33.  An error can occur in the answering routine which creates a loop  when 
  1290.      RBBS-PC is counting rings in order to answer the phone.
  1291.  
  1292. 34.  When  a  300 Baud caller exits to a MultiLink  controlled  "door"  the 
  1293.      system no longer hangs.
  1294.  
  1295. 35.  When a user issues Ctrl/X or Ctrl/K to exit a color menu the colors no 
  1296.      longer disappear from the remote user's screen.
  1297.  
  1298. 36.  When using COM0 as a local network user in a multi-tasking environment 
  1299.      RBBS-PC no longer hangs when the local user says G>oodbye.
  1300.  
  1301. 37.  ERROR  54 no longer occurs if a user in a private  conference  changes 
  1302.      his  password or a SYSOP of the conference uses SYSOP option 5  to  do 
  1303.      user file maintenance.
  1304.  
  1305. 38.  The  W>ho's on command shows only active users on the other nodes  and 
  1306.      indicates the inactive nodes are "waiting for next caller."  Only  the 
  1307.      SYSOP will see who was last on the inactive nodes.
  1308.  
  1309. 39.  If a user completes an auto-download and then tries an upload, RBBS-PC 
  1310.      now handles this correctly.
  1311.  
  1312. 40.  When  a  SYSOP  is doing user file maintenance (SYSOP  option  5)  and 
  1313.      attempts to delete a user, he is prompted more clearly.
  1314.  
  1315. 41.  When  a  user  logs  on without supplying  his  first  and  last  name 
  1316.      (separated  by a semicolon) followed by a semicolon and his  password, 
  1317.      RBBS-PC now asks the user to confirm that is the name he wants to  log 
  1318.      on as. (Only if the SYSOP in using individuation)
  1319.  
  1320. 42.  Error  trapping for "disk full" has been enhanced when writing to  the 
  1321.      CALLERS file.
  1322.  
  1323. 43.  When  carrier  drops before a user can provide a  description  for  an 
  1324.      uploaded file, a more meaningful indicator is now left.
  1325.  
  1326. 44.  Users  are required to provide at least 10 characters  of  description 
  1327.      for each file they upload.
  1328.  
  1329.  
  1330. 2.0 RBBS-PC "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS
  1331. ----------------------------------------------------------
  1332.  
  1333. RBBS-PC  CPC15-1B  is designed to run on an IBM Personal  Computer  running  
  1334. IBM's  Disk Operating System (DOS),  communicating via an IBM  Asynchronous  
  1335. Communications  Adapter  and a Hayes 1200 Smartmodem  modem.   For  RBBS-PC  
  1336. CPC15-1B, the following equipment and software is the MINIMUM recommended:
  1337.  
  1338.            IBM PC with an 80 column monitor,
  1339.            Asynchronous communications  adapter (serial port),
  1340.            Hayes 1200 Smartmodem (or 100% Hayes compatible!),
  1341.            Voice  grade  telephone connection  for  modem,
  1342.            25 pin RS-232 modem  cable  (for stand alone modem),
  1343.            256K RAM and at least two double-sided drives,
  1344.            PC-DOS 2.0 or higher, and
  1345.            BASIC Compiler (IBM's Version 2.0 or Microsoft's QuickBASIC)
  1346.  
  1347.                        Page 21 of 149
  1348. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1349.  
  1350. The  MINIMUM configuration that RBBS-PC can be run in is on an IBM PC  that 
  1351. has 256K of random access memory (RAM), one double-sided disk drive, an RS-
  1352. 232  communications  port with a Hayes 300 baud modem and IBM's PC DOS  2.0 
  1353. (or  higher).   However as with ANY bulletin board system,  the  less  disk 
  1354. space  available the more file maintenance the SYSOP must do.   Also if you 
  1355. choose  to allow external file protocol transfers,  an additional  136K  of 
  1356. memory  is required.
  1357.  
  1358. If  you  have  a  second telephone installed specifically for RBBS-PC,  ask 
  1359. for  a second voice  grade telephone line.   Data lines are very  expensive 
  1360. and  are  not  necessary.   The   program  requires  the  use  of  a  Hayes  
  1361. Smartmodem  (or  one that is 100% Hayes compatible) in order  to   function 
  1362. properly.   If your non-Hayes modem doesn't work with RBBS-PC, send RBBS-PC 
  1363. (source  code and all) to the vendor and ask him to explain why it  doesn't 
  1364. work (i.e. why it is "incompatible" with the Hayes Smartmodem). 
  1365.  
  1366. Callers who come in at even parity and 7 data bits,  then try to change  to  
  1367. no   parity  and  8 data bits to use XMODEM,  may have a problem  if   they  
  1368. are  using PC-TALK and a Hayes Smartmodem.   Switch 1 on the caller's modem 
  1369. has  to  be down (the factory  default  position)  or the carrier  will  be 
  1370. dropped when  the  communication  parameters  are  switched.  To avoid this 
  1371. the  PC-TALK caller will  have  to  enter the escape code (factory  setting 
  1372. "+++"),   reset the modem  parameters  with  Alt-P and/or Alt-F,   and then 
  1373. return  to the "connect" state with  the  command  "ATO." Callers who  wish 
  1374. to  communicate at 450 baud have to call in  at  300  baud  then switch  to 
  1375. 450 using the N)ew baud  selection  from  the  "Utilities" menu.
  1376.  
  1377. 3.0 RBBS-PC's SUPPORT POLICIES
  1378. ------------------------------
  1379. 3.1 RBBS-PC's Vendor Support Policy
  1380. -----------------------------------
  1381. The  only reason RBBS-PC is "hardware-specific" to the IBM PC and the Hayes  
  1382. Smartmodem is that these have pretty much set an industry standard   (let's 
  1383. not   debate  the  issue  of whether they have  also  set  a   "technology"  
  1384. standard).  If you follow the code in RBBS-PC closely, you will notice that  
  1385. a great deal of effort was expended in order not to be "hardware-dependent"  
  1386. on either the Hayes or the IBM PC.
  1387.  
  1388. The   purposes  of  RBBS-PC  are outlined in  chapter  1   of  the  RBBS-PC 
  1389. documentation.   Those  who  contribute  to  RBBS-PC do so without any hope  
  1390. of  monetary   reward.    In fact,  great lengths are taken to assure  that 
  1391. neither  those  involved with the development of RBBS-PC  nor  anyone   who  
  1392. distributes   RBBS-PC  does  so for either personal gain or to  promote   a  
  1393. specific product at the expense of other products.
  1394.  
  1395. If  the hardware you are using is not part of the "base-line" hardware  and  
  1396. RBBS-PC  doesn't  work,  your only recourse is to either modify RBBS-PC  to  
  1397. meet  your  particular  hardware's needs (that's why  the  source  code  is  
  1398. distributed)  or  contact  your vendor and ask him to fix his  hardware  or  
  1399. modify RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1400.  
  1401. Since  1984 RBBS-PC  became something of an "industry standard."   As  such 
  1402. several  manufacturers  have requested that support for  their   particular  
  1403. hardware  and/or software be incorporated into RBBS-PC.  These vendors have 
  1404. had three choices:
  1405.  
  1406. 1.  Obtain  a  copy  of the BASIC source code by  sending  $8  to  the 
  1407.     Capital PC User Group's Software Exchange.  The source code allows 
  1408.     the   vendor  to  determine  what  is  required  to  be   "RBBS-PC 
  1409.     compatible."   Who   better   knows    the    quirks    of     the  
  1410.     manufacturer's  product than the manufacturer?   RBBS-PC's limited 
  1411.  
  1412.                        Page 22 of 149
  1413. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1414.  
  1415.     license  specifically  permits the  distribution of  ".MRG"  files 
  1416.     that  would allow RBBS-PC to run with whatever  idiomatic   quirks   
  1417.     a  specific  vendor's  product exhibited.   The advantage  to  the 
  1418.     manufacturer  is that he is in complete control and need not  make 
  1419.     the .MRG "universal" (i.e. it need only support his product).  The 
  1420.     disadvantage is that new releases of RBBS-PC come out every six to 
  1421.     eight  weeks and the vendor would have to review each  release  to 
  1422.     make sure the new releases and his .MRG files were compatible.  Of 
  1423.     course,  as  with  any other RBBS-PC  operator,  casual  telephone 
  1424.     support is available to these vendors.
  1425.  
  1426. 2.  Supply the necessary equipment or software on a loan or gift basis 
  1427.     to  be  used in the testing of future releases of  RBBS-PC.   This 
  1428.     approach  has  been  actively DISCOURAGED  for  three  fundamental 
  1429.     reasons.
  1430.  
  1431.     First,  the vendor perceives he has "paid" for on-going support by 
  1432.     the loan or donation of the product.  This is not the case because 
  1433.     RBBS-PC's  development  is an all-volunteer  activity.   As  such, 
  1434.     neither  I nor any of the others involved with the development  of 
  1435.     RBBS-PC  may  have  the time nor expertise  sufficient  to  assure 
  1436.     compatibility  of  the  specific  vendor's  product  with   future 
  1437.     releases  of RBBS-PC.   About all that can be done is to give  the 
  1438.     vendor our "best effort" to assure compatibility,  and advise when 
  1439.     it can not be made compatible.
  1440.  
  1441.     Second,   the   particular  product  may  not  have  a   universal 
  1442.     applicability  to RBBS-PC users and (or) may not be of interest to 
  1443.     those  who  regularly contribute to the  development  of  RBBS-PC.   
  1444.     Both of these conditions must exist before any vendor's product is 
  1445.     incorporated into the RBBS-PC development cycle.
  1446.  
  1447.     Third, the price of the loaned or donated products (usually 3 to 5 
  1448.     such  products)  in  no way can even begin to compensate  for  the 
  1449.     hundreds  (if  not  thousands) of development  hours  required  to 
  1450.     support other than "base-line" hardware. 
  1451.  
  1452. 3.  Establish  an  on-going  institutional commitment  to  maintain  a 
  1453.     dialogue  between  the vendor's engineering group and the  RBBS-PC 
  1454.     development  team along with supplying the necessary equipment  or 
  1455.     software  on  a loan or gift basis to be used in  the  testing  of 
  1456.     future  releases  of  RBBS-PC.   This approach has  been  actively 
  1457.     ENCOURAGED for three different and fundamental reasons.
  1458.  
  1459.     First,  the  vendor overtly makes an institutional  commitment  to 
  1460.     jointly participate in the development of RBBS-PC.  The vendor has 
  1461.     the  opportunity to supplement the all-volunteer activity that  is 
  1462.     the  basis  for RBBS-PC development by choosing to  either  modify 
  1463.     their  current or future products to be compatible with RBBS-PC or 
  1464.     to supply software that ensures compatibility with RBBS-PC.   This 
  1465.     benefits all RBBS-PC users.
  1466.  
  1467.     Second,  the particular products that fall into this category  are 
  1468.     required  to have a universal applicability to RBBS-PC users (i.e. 
  1469.     multi-tasking DOS,  networking,  2400 or greater baud  capability, 
  1470.     error-free protocols,  etc.).  Also a regular contributor to RBBS-
  1471.     PC's  development  must  be geographically located  close  to  the 
  1472.     vendor's  development  engineers  to  assure  a  timely  dialogue.  
  1473.     Further  any  regular  contributor to  RBBS-PC's  development  who 
  1474.     accepts  the  responsibility for assuring RBBS-PC's  compatibility 
  1475.     with a particular vendor's product must be willing to do so solely 
  1476.  
  1477.                        Page 23 of 149
  1478. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1479.  
  1480.     on a volunteer basis over an extended period of time and in such a 
  1481.     way  as  not to exclude other vendor's products.   Only  when  all 
  1482.     these  conditions exist is any vendor's product a candidate to  be 
  1483.     incorporated  into the RBBS-PC development  cycle.   This  assures 
  1484.     that  the RBBS-PC user community has a feed-back mechanism to  the 
  1485.     vendor's  product  development and design teams and the vendor  is 
  1486.     assured  of  a  matching long-term  commitment  from  the  RBBS-PC 
  1487.     development team.
  1488.  
  1489.     Third,  the  vendor  recognizes that the  price of the  loaned  or 
  1490.     donated  products  (usually  3 to 5 such  products)  is  minuscule 
  1491.     compared  with  the hundreds (if not thousands) of man-hours  that 
  1492.     may be required  from both the RBBS-PC development team as well as 
  1493.     the vendor's engineers.   This assures that the vendors who choose 
  1494.     this third approach are committed to the PC user community.  It is 
  1495.     precisely this type of commitment that RBBS-PC's USERWARE  concept 
  1496.     is designed to encourage (from both users and vendors)
  1497.  
  1498. Vendors  who  have chosen to make this third type of commitment to  RBBS-PC 
  1499. and the PC user community deserve the respect and encouragement of every PC 
  1500. user and are (alphabetically):
  1501.  
  1502.     Ark Electronic Products, Inc.
  1503.     325 W. Hibiscus Blvd.
  1504.     Melbourne, Florida  32901
  1505.     (305) 724-5260 
  1506.  
  1507.     Corvus Systems, Inc.
  1508.     2100 Corvus Drive
  1509.     San Jose, California 95124
  1510.     (408) 559-7000
  1511.  
  1512.     The Forbin Project (c/o John Friel III)
  1513.     4945 Colfax Avenue South
  1514.     Minneapolis, MN 55409
  1515.  
  1516.     Hayes Microcomputer Products, Inc.
  1517.     5923 Peachtree Industrial Blvd.
  1518.     Norcross, Georgia  30092
  1519.     (404) 449-8791
  1520.  
  1521.     International Business Machines Corporation
  1522.     (Internal Zip Code 2900)
  1523.     P.O. Box 1328
  1524.     Boca Raton, Florida  33432
  1525.     (305) 998-2000
  1526.  
  1527.     Microcom, Inc.
  1528.     1400A Providence Highway
  1529.     Norwood, MA  02062
  1530.     (617) 762-9310
  1531.  
  1532.     Multi-Tech Systems, Inc.
  1533.     82 Second Avenue, S.E.
  1534.     New Brighton, Minnesota  55112
  1535.     (612) 631-3550
  1536.  
  1537.     Orchid Technology
  1538.     4790 Westinghouse Drive
  1539.     Fremont, CA 94539
  1540.     (415) 490-8586
  1541.  
  1542.                        Page 24 of 149
  1543. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1544.  
  1545.     Prometheus Products Incorporated
  1546.     4545 Cushing Parkway
  1547.     Fremont, CA  94538
  1548.     (415) 490-2370
  1549.  
  1550.     Quarterdeck Office Systems
  1551.     150 Pico Blvd.
  1552.     Santa Monica, CA 90405
  1553.     (213) 392-9701
  1554.    
  1555.     Racal-Vadic
  1556.     1525 McCarthy Blvd.
  1557.     Milpitas, California 95035
  1558.     (408) 774-0810
  1559.  
  1560.     The Software Link, Inc.
  1561.     8601 Dunwoody Place
  1562.     Suite 336
  1563.     Atlanta, GA  30338
  1564.     (404) 998-0700
  1565.  
  1566.     The Source
  1567.     1616 Anderson Road
  1568.     McLean, Virginia  22102
  1569.     (703) 734-7500
  1570.  
  1571.     System Enhancement Associates
  1572.     21 New Street
  1573.     Wayne, NJ 07470
  1574.     (201) 473-5153
  1575.  
  1576.     U.S. Robotics, Inc.
  1577.     Skokie, Illinois 60076
  1578.     (312) 982-5010
  1579.  
  1580. Users  who feel that they have benefited or who appreciate such  commitment 
  1581. to  the user community should write or call the above vendors and tell them 
  1582. so,  especially  if  such  a commitment influenced the  purchase  of  their 
  1583. products.   Similarly,  if  any user feels that other vendor should make  a 
  1584. similar commitment to RBBS-PC and the user community,  write to that vendor 
  1585. and send a copy of your letter to the following address:
  1586.  
  1587.                         D. Thomas Mack
  1588.                         10210 Oxfordshire Road
  1589.                         Great Falls, Virginia 22066
  1590.  
  1591. Chapter  22 describes the RBBS-PC standard interface for protocol  drivers.  
  1592. All  vendors of proprietary protocols who would like to have them added  to 
  1593. future releases of RBBS-PC need do is simply conform to this interface.  
  1594.  
  1595. 3.2 RBBS-PC's User Support Policy
  1596. ---------------------------------
  1597. RBBS-PC is an all-volunteer effort on my part.   Professionally I am not  a 
  1598. programmer (as anyone who has looked at the source code can testify) nor an 
  1599. "expert/guru" on personal computers.  Since I am not independently wealthy, 
  1600. I have a full time job (unrelated to PC's).   As with most other folks, I'm 
  1601. also  busy  raising  a  family.   What time I can spare  from  these  other 
  1602. activities  I  am  glad to donate to answer questions about  RBBS-PC  as  I 
  1603. believe (somewhat fanatically) in the Userware concept.
  1604.  
  1605.  
  1606.  
  1607.                        Page 25 of 149
  1608. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1609.  
  1610. However,  if  you have questions regarding something other than the  "base-
  1611. line"  hardware  and software requirements outlined in chapter  2.0,  DON'T 
  1612. CALL  ME.   I probably can't help you anyway and even if I do venture  some 
  1613. advice  it  will probably be wrong.   One of the axioms of  the  "Userware" 
  1614. concept is that every user should be able to help themselves -- that's  why 
  1615. there  are  more  than 100 pages of documentation and the  source  code  is 
  1616. freely distributed (under a limited license and copyrighted).
  1617.  
  1618. The only calls that I truly appreciate are those that reveal BOTH a problem 
  1619. and  a solution.   These I am more than happy to share with anyone and  are 
  1620. included in RBBS-PC (either the documentation,  the software,  or both)  as 
  1621. rapidly as possible. Of course, if you encounter a problem and
  1622.  
  1623.      1.  read and re-read the documentation, 
  1624.      2.  spend  days  and days attempting to isolate it,
  1625.      3.  called other  SYSOP's  and asked  their help,
  1626.      4.  looked up any error messages you encountered (they are in the 
  1627.          BASIC manual that comes with your IBM PC's DOS),
  1628.      5.  know what version of RBBS-PC that you are running,
  1629.      6.  know what version of CONFIG that you are running,
  1630.      7.  eliminated all other software from your environment,
  1631.  
  1632. and  still can not get RBBS-PC to work,  I am most happy to  lend  whatever 
  1633. telephone  advice I can.
  1634.  
  1635. In  this regard,  it may help to remember that there are only two types  of 
  1636. problems  -- MY  problems (which are the ones that I can solve)  and  OTHER 
  1637. PEOPLE's problems (which are the ones that I can't solve).
  1638.  
  1639. 4.0 OPERATING SYSTEM REQUIREMENTS
  1640. ---------------------------------
  1641. Beginning  with RBBS-PC version CPC13-1A,  RBBS-PC requires version 2.0  or 
  1642. above of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the 
  1643. BASIC  interpreter.   Nor is it reasonable to expect that RBBS-PC would run 
  1644. under ANY other DOS supplied by any other vendor (including Microsoft).  
  1645.  
  1646. 5.0 HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1647. --------------------------------------------
  1648. RBBS-PC  can be obtained by sending a  check  for  $8 to the
  1649.  
  1650.                Capital PC Software Exchange
  1651.                P.O. Box 6128
  1652.                Silver Spring MD 20906.
  1653.  
  1654. RBBS-PC is distributed on two double-sided, 9-sector, diskettes. Allow 3 to 
  1655. 4 weeks for delivery -- remember this is an all-volunteer effort.   Be sure 
  1656. to  specify RBBS-PC CPC15-1B on "diskette # 18".  If you want  the  RBBS-PC 
  1657. source  code.  CPCUG will ship a third diskette, "diskette # 18S,"  if  you 
  1658. include a second $8 with your order and ask for "diskette #18S."
  1659.  
  1660. Version  CPC15-1B  of RBBS-PC's .EXE file is distributed after having  been 
  1661. compiled  with  QuickBASIC  Version 2.01 compiler that had  the  DTR  patch 
  1662. described  in  Appendix  O  applied to it.   This  is  because  Microsoft's 
  1663. QuickBASIC  Version  2.0  compiler has a bug in it that  causes  the  local 
  1664. SYSOP's PgUp and PgDn functions to give unusual results.
  1665.  
  1666. The  exigencies  of  RBBS-PC software releases may mean  that  diskette  18  
  1667. contains  an  earlier version of RBBS-PC than CPC15-1B (either  you  bought  
  1668. diskette 18 sometime ago or there has been not enough time for diskette  18 
  1669. to  be updated to this most current version).    Not to fear!   Your $8 has  
  1670. not   been  wasted.    At least two bulletin boards keep the  most  current 
  1671.  
  1672.                        Page 26 of 149
  1673. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1674.  
  1675. copies of  RBBS-PC CPC15-1B for downloading.  They are: 
  1676.  
  1677. (703) 759-5049 --+
  1678.                  +---- East Coast (Great Falls, Virginia), 
  1679. (703) 759-9659 --+
  1680.  
  1681. (415) 689-2090 ------- West Coast (Concord, California).
  1682.  
  1683.  
  1684. For  those  interested,   a  LaserJet  printer  ready  file  of   RBBS-PC's 
  1685. documentation  is  available  from  the NICBUL RBBS-PC system  run  by  the 
  1686. Nicolet Instrument Corp.  by downloading the file named RBSDOCLJ.ARC.   The 
  1687. SYSOP  is  Michael  L.  Brown and the bulletin board  is  available  Monday 
  1688. through  Friday  from  6PM  to 8AM (Central  Standard  Time)  and  all  day 
  1689. Saturdays  and Sundays.   The number is (608) 273-5037.   If you want it in 
  1690. "hard  copy" form,  send a 9.5 x 12.5# envelope with $2.09 in  postage  to: 
  1691. (one envelope per request)
  1692.  
  1693.          Michael L. Brown
  1694.          Nicolet Instrument Corporation
  1695.          5225-2 Verona Road
  1696.          P.O. Box 4288
  1697.          Madison, WI  53711-0288 
  1698.  
  1699. 6.0 FILES RBBS-PC USES
  1700. ----------------------
  1701. There  are essentially two types of files that RBBS-PC uses -- "system" and 
  1702. "text"  files.   "System"  files are defined as random files  that  RBBS-PC 
  1703. reads  and  writes  to.   "Text" files are defined as  files  that  RBBS-PC 
  1704. primarily reads from.   Text files can be edited externally to RBBS-PC with 
  1705. most  text editors that can handle ASCII files.  Either type of file can be 
  1706. "static" or "variable" in length.  By "static" it is meant that these files 
  1707. have  a  pre-defined  length beyond which RBBS-PC  does  not  extend  them.  
  1708. Similarly,  "variable" length files are defined as those files whose length 
  1709. is  dynamically  increased by RBBS-PC.   In a multiple RBBS-PC  environment 
  1710. only the "static" length files can be shared SAFELY among the various RBBS-
  1711. PC's.   The following table summarizes, using the default file names, which 
  1712. categories the various RBBS-PC files fall into:
  1713.  
  1714.         "Static" Length Files       "Variable" Length Files 
  1715.  
  1716.   -----   MESSAGES                      CALLERS
  1717.    /|\    USERS                         COMMENTS
  1718.   System  MESSAGES.BAK                  99.DIR (upload directory)
  1719.   Files   USERS.BAK                     upload disk 
  1720.    \|/    RBBSxPC.DEF                   ARCWORKx.DEF
  1721.   -----   QMXFERx.ERR
  1722.  
  1723.   -----   BULLET
  1724.    /|\    LGx.DEF
  1725.     |     RBBSxF1.DEF (Created by RBBS-PC)
  1726.     |     BULLET1 --> BULLETn
  1727.     |     DIR.DIR, aa.DIR  --> bb.DIR            
  1728.   Text    FILESEC and PASSWRDS         
  1729.   Files   HELPxx          
  1730.     |     MENU0   --> MENUA
  1731.     |     xy.HLP (help for commands)
  1732.     |     NEWUSER
  1733.     |     PRELOG                     
  1734.    \|/    TRASHCAN & CONFENCE                   
  1735.   -----   WELCOME                       
  1736.  
  1737.                        Page 27 of 149
  1738. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1739.  
  1740. In  a CORVUS network environment any of  the "static" length files  can  be 
  1741. shared  on  a common volume and ALL of the "variable" length files must  be 
  1742. segregated on volumes unique to each copy of RBBS-PC.   RBBS-PC issues  the 
  1743. NAME function of BASIC in order to determine if a file exists.   Because of 
  1744. this,  all  the volumes accessed by any RBBS-PC in a CORVUS network must be 
  1745. designated "read/write." Therefore,  you must be very careful when  running 
  1746. CONFIG.BAS.  CONFIG creates the definition file (RBBSxPC.DEF) for each copy 
  1747. of  RBBS-PC.
  1748.  
  1749. In  a MultiLink (from the Software Link,  Inc.) environment and in Orchid's 
  1750. PC-NET environment the vendors claim that not only all the "static"  length 
  1751. files  can  be  shared on a common volume but also some of  the  "variable" 
  1752. length files can be shared.  However,  if you want to be as conservative as 
  1753. possible,  run  RBBS-PC  in ALL environments as if it where  running  in  a 
  1754. CORVUS network environment.  However, if you rely on the vendors claims, in 
  1755. either  a  MultiLink or PC-NET environment,  when running CONFIG.BAS  which 
  1756. creates  the definition file (RBBSxPC.DEF) for each copy  of  RBBS-PC,  you 
  1757. must be careful to put at least the CALLERS file on an unshared volume.
  1758.  
  1759. 6.1  RBBS-PC System Files
  1760. -------------------------
  1761. As shown above, "system" files are both static and variable in length.  The 
  1762. system files used by RBBS-PC are:
  1763.  
  1764. MESSAGES  - This  file is a random file that contains the message text  for  
  1765.         the   RBBS-PC system.    The first record in the file contains  the 
  1766.         RBBS-PC  "checkpoint" record.   The records  immediately  following 
  1767.         this  first record are the RBBS-PC "node" records.  The rest of the 
  1768.         file consists of message  header  records  which  are  followed  by 
  1769.         the  message  text  for  that  header.    Appendix A describes  the 
  1770.         fields  and  their uses within the various type of records  of  the 
  1771.         messages file.   RBBS-PC expects the MESSAGES file to exist and  to 
  1772.         have  been created by CONFIG.BAS.   If CONFIG.BAS does not find the 
  1773.         MESSAGES  file  or it finds one in  pre-CPC12-3A  format,  it  will 
  1774.         create  it   and  initialize it to the size  the  SYSOP  specifies.  
  1775.         Because  of the fixed length records in  this file,   it should not 
  1776.         be  created or edited outside CONFIG.    When  the  SYSOP   "packs" 
  1777.         the  message file using CONFIG, the file MESSAGES.BAK is created to  
  1778.         hold   the  old messages in case the "pack" is  unsuccessful  (i.e.  
  1779.         not enough space  to  duplicate  the  message file).   If the  disk 
  1780.         fills  up   during  the  pack  function RBBS-PC will   recover  the 
  1781.         message  file  using  MESSAGES.BAK.   When  the  messages  file  is 
  1782.         successfully  packed,  the  pre-packed  messages file  is   renamed 
  1783.         MESSAGES.OLD   and  the  temporary  file  MESSAGES.BAK  is  renamed 
  1784.         MESSAGES.  The  MESSAGES  file  should  only  be   "packed"  in   a  
  1785.         multiple  RBBS-PC  environment  when there are no RBBS-PCs  active.  
  1786.         The MESSAGES file can be shared among multiple RBBS-PCs.
  1787.  
  1788. USERS  - The USERS file is a random access file that has a record for  each  
  1789.         user  who used the system.   The record contains a profile for each 
  1790.         user who has logged onto RBBS-PC.   Appendix A describes the format 
  1791.         of the records within the USERS file.  The records are 128 bytes in 
  1792.         length and are automatically  maintained  by  RBBS-PC.   The  SYSOP  
  1793.         can  do  some   limited  editing   using   SYSOP  function  5.   To 
  1794.         initialize the system simply ERASE this file.   RBBS-PC expects the 
  1795.         USERS  file to exist.   If  CONFIG.BAS does  not  find the file  on 
  1796.         the  system  it will create it to the size specified by the  SYSOP.  
  1797.         The   USERS   file    should   not be  created  or  edited  outside 
  1798.         CONFIG.BAS.     When  the  SYSOP   "packs"   the  user  file  using 
  1799.         CONFIG.BAS,  the file USERS.BAK is created to hold the old users in 
  1800.         case   the   "pack"  is unsuccessful (i.e.   not  enough  space  to 
  1801.  
  1802.                        Page 28 of 149
  1803. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1804.  
  1805.         duplicate the  users  file).   If the disk fills up during the pack 
  1806.         function RBBS-PC will recover  the USERS file with USERS.BAK.  When 
  1807.         the users file is successfully packed, the pre-packed users file is 
  1808.         renamed  USERS.OLD  and  the temporary file  USERS.BAK  is  renamed 
  1809.         USERS. The USERS file should only be "packed" in a multiple RBBS-PC 
  1810.         environment when there are no RBBS-PC's active.  The USERS file can 
  1811.         be shared among multiple RBBS-PC's.
  1812.  
  1813. CALLERS - This file is a random file that contains a log of all callers  as  
  1814.         they  log on to the system along with callers city and  state,  the 
  1815.         date and the  time.   The names are added to the end of the file as 
  1816.         well  as  are the names  of  the files uploaded/downloaded  by  the 
  1817.         caller.    If the file is not found  RBBS-PC will create a new one.  
  1818.         The  file  should be ERASED to clear the  log.   The  CALLERS  file 
  1819.         cannot be shared among multiple RBBS-PC's.
  1820.  
  1821. COMMENTS  - This file is a sequential file that contains any comments  that  
  1822.         have been left by users for the SYSOP.   The file can be scanned by 
  1823.         a  SYSOP   function  or it can be TYPEd or edited outside the  RBBS  
  1824.         system.    A  SYSOP  function is available to delete this file,  or 
  1825.         it  can be emptied outside of  DOS.    The file will be created  by 
  1826.         RBBS-PC  if  it is not found.  The COMMENTS file cannot  be  shared 
  1827.         among multiple RBBS-PC's using CORVUS' "OMNINET".  This file can be 
  1828.         shared using MultiLink or Orchid.
  1829.  
  1830. 99.DIR   - The  file  on the upload disk that is to have  the  name,   file  
  1831.         size,  date, and description appended to it of files that have been 
  1832.         uploaded.   The  99.DIR file cannot be shared among multiple  RBBS-
  1833.         PC's using CORVUS's "OMNINET", but can be shared using MultiLink or 
  1834.         Orchid.
  1835.  
  1836. RBBS-PC.DEF  - This  is  an  ASCII  text file  created  as  output  by  the  
  1837.         CONFIG program.    It contains the configuration parameters for the 
  1838.         RBBS.  It  is  read by RBBS to determine the configuration settings 
  1839.         tailored   to  your  RBBS- PC.   In a multiple RBBS-PC  environment 
  1840.         the definition file for each RBBS-PC is named RBBSxPC.DEF where "x" 
  1841.         is a number 1 through 9 ,  0 (for the tenth copy),  and A through Z 
  1842.         (for  the eleventh through 36th copy) corresponding to  which  copy  
  1843.         RBBS-PC it  describes.   In a  single RBBS-PC  environment the name 
  1844.         will be RBBS-PC.DEF.
  1845.  
  1846. ARCWORKx.DEF  - This file is created as output by the ARC view  command and
  1847.         contains the contents of the ARC file being inquired against.
  1848.  
  1849. QMXFERx.ERR - This file is created as output by  QMXFER.COM to notify RBBS-
  1850.         PC of the results of an external file protocol transfer.
  1851.  
  1852. x.BAT - This file is created when external protocol drivers are  invoked by
  1853.         SHELLing in order to allow command lines longer than 80 characters.
  1854.  
  1855. RBBS-PC  displays on line 25 the status of those files which must be locked 
  1856. in a network environment.  The lock status of the message file is displayed 
  1857. in  positions 68 & 69.   The lock status of the user file is  displayed  in 
  1858. positions 71 & 72.  The lock block status is displayed in positions 74 & 75 
  1859. and comments/uploads share positions 77 & 78.   The letter "U" in the first 
  1860. position  shows that the file is currently "UNLOCKED".   The letter "L"  in 
  1861. the first position indicates that the file is "LOCKED".
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.                        Page 29 of 149
  1868. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1869.  
  1870. 6.2  RBBS-PC Text Files
  1871. -----------------------
  1872. Similarly, the RBBS-PC "text" files are both static and variable in length.  
  1873. The "text" files used by RBBS-PC are:
  1874.  
  1875. BULLET   - This is a text menu file that is printed following the   WELCOME  
  1876.         file  when a user first enters the system.   It must be present  if 
  1877.         "CONFIG  Utility parameter # 43" is greater than 1.  It can also be 
  1878.         called from  the  main  menu  with the <B>ulletins command.  
  1879.  
  1880. BULLET1 --> n -- There can be 1 to 99 "bulletins".   RBBS-PC will check for 
  1881.         the existence of a file whose name consists of the prefix given  by 
  1882.         parameter  44  of CONFIG.BAS appended with the bulletin number  and 
  1883.         using parameter 41 of CONFIG.BAS to determine the drive to find the 
  1884.         bulletin on. 
  1885.  
  1886. Users  can elect to have displayed two different types of "graphics"  files 
  1887. for such standard RBBS-PC system files as HELPxx,  BULLET, MENU's, etc.  In 
  1888. order  for a user to see either of these two different types of  "graphics" 
  1889. files, the following must have occurred:
  1890.  
  1891.           logged  on  N/8/1,
  1892.           requested graphics (either full ASCII or "color/music"), and
  1893.           the file must exist and the filename end in either:
  1894.                "G" for files containing the graphic ASCII characters
  1895.                     whose values are in the range 129 to 256, or
  1896.                "C" for files containing combinations of the full
  1897.                     256 characters that the caller's communication 
  1898.                     software can interpret and translate into colors
  1899.                     and music (e.g. PCTK666, QMODEM, and EXECPCT).
  1900.  
  1901. RBBS-PC  will check to see if a "graphics" files exists by appending a  "G" 
  1902. or "C" to the file name.  If such a file can't be found, RBBS-PC will check 
  1903. to see if a non-graphics file exists (i.e.  one without the "G").   RBBS-PC 
  1904. will  display the first file it finds or a message that the file can not be 
  1905. found.
  1906.  
  1907. DIR.DIR,  aa.DIR  -->  nn.DIR  -- At  least  one  DIR.DIR file  has  to  be 
  1908.         present   on   one   of   the  drives  available  for  downloading. 
  1909.         Alternative directories, aa.DIR --> nn.DIR (see chapter 14), should 
  1910.         be meaningful and  should be reflected in the DIR file.
  1911.  
  1912. FILESEC - is more fully described in section 17.4 on security.
  1913.  
  1914. HELP    -- There  is  a  help file for each command which  has  the  format 
  1915.         xy.HLP, where x is the first letter of the section (M,F,U) and y is 
  1916.         the  command  letter.   There are also the following  special  help 
  1917.         files:
  1918.  
  1919.         MAIN.HLP  -text  file that is printed when <H>elp is  requested  on  
  1920.         the  main function prompt.  It contains  command information.
  1921.  
  1922.         HELP03  -text  file that describes the message  protection  options 
  1923.         when   <?>   is   entered  after  the  message <E>nter  command  is 
  1924.         executed  at  the  main  message menu.
  1925.  
  1926.         HELP04  -text  file that describes the message  entry  subfunctions 
  1927.         when  <?>  is entered at the subfunction prompt.
  1928.  
  1929.         FILE.HLP  -text   file that is printed when <H>elp is  entered   in  
  1930.         the  files  subsystem function prompt.
  1931.  
  1932.                        Page 30 of 149
  1933. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1934.  
  1935.  
  1936.         HELP07 -text  file printed when <H>elp is requested at the  message  
  1937.         read  prompt.
  1938.  
  1939.         UTIL.HLP - text file  printed  when  <H>elp is  requested  in   the  
  1940.         utility  subsystem function prompt.
  1941.  
  1942.         HELP09  -text  file  printed when <H>elp is requested for  type  of 
  1943.         graphics a user wants (none, ASCII, color/music).
  1944.  
  1945. MENU0->A -- contain the local SYSOP's menu and menu of various commands for 
  1946.         the  subsystems.   It  is  recommended that these be placed  on  an 
  1947.         electronic disk drive  (i.e.   RAM) rather than on a floppy or hard 
  1948.         drive.
  1949.  
  1950. NEWUSER  - This is a text file that is displayed for new users just  before  
  1951.         registration occurs.  
  1952.  
  1953. PASSWRDS - is more fully described in section 17.3 on security.
  1954.  
  1955. PRELOG  - A text file displayed to users prior to logging on.
  1956.  
  1957. TRASHCAN  - is  a  text  file  that contains names  that  the  SYSOP  finds 
  1958.         objectionable  and  does not want used as either a users  first  or 
  1959.         last name.  RBBS-PC uses this file, if it exists, to deny access to 
  1960.         anyone  using  one  of these names for either their first  or  last 
  1961.         name.
  1962.  
  1963. WELCOME  - is  a  text  file that a user first sees upon logging  onto  the  
  1964.         system.    It   must  be present,   and it should  be  modified  to 
  1965.         identify   your   system.   Similarly each "conference" can have  a 
  1966.         "welcome" file by having a file whose last character ended in a "w" 
  1967.         (i.e.  conference "RBBS" would have a message file named  RBBSM.DEF 
  1968.         and  a user file named RBBSU.DEF if it where a "private" conference 
  1969.         and a welcome file named RBBSW.DEF).
  1970.  
  1971. CONFENCE - A text file displayed to users who issue the J)oin function from 
  1972.         the  main  menu.   It can be created by any text  editor  that  can 
  1973.         create  an  ASCII file and should contain a list of  the  available 
  1974.         conferences.
  1975.  
  1976. LGx.DEF  - This  is  the file displayed to a user whose security  level  is 
  1977.         below the minimum to log on.  The "x" defines the security level of 
  1978.         the  users who would see this file.   A SYSOP can "lock out"  users 
  1979.         (i.e. give them a security level below the minimum to logon on) for 
  1980.         various  reasons.   This  allows  users to know why  they  are  not 
  1981.         allowed  to  log  on (i.e.  LG4.DEF explains  because  of  security 
  1982.         violations,  LG-1.DEF because of inappropriate behavior,  LG-99.DEF 
  1983.         because  he  has never uploaded anything or answered a messages  in 
  1984.         the last 22 months, etc.).
  1985.  
  1986. RBBSxF1.DEF  -- This  is the file dynamically created when the local  SYSOP 
  1987.         wants to drop to DOS.
  1988.  
  1989. 7.0 INSTALLING RBBS-PC FOR THE FIRST TIME
  1990. -----------------------------------------
  1991. RBBS-PC,  unlike  simpler applications such as games and  utilities,  is  a 
  1992. complex  application that requires someone who wishes to set up RBBS-PC  to 
  1993. already  be familiar with modems and PC communications.   This  section  is 
  1994. intended  to provide a step-by-step approach to setting up RBBS-PC for  the 
  1995. first time.   Follow the steps thoughtfully!   Do not proceed to subsequent 
  1996.  
  1997.                        Page 31 of 149
  1998. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  1999.  
  2000. steps until you understand all the previous steps.
  2001.  
  2002. Because RBBS-PC attempts to provide SYSOP's the maximum flexibility,  it is 
  2003. perfectly possible for those setting RBBS-PC up for the first time to shoot 
  2004. themselves in the foot.   Be patient with yourself.   Remember that  things 
  2005. worth achieving usually are not obtainable without effort.
  2006.  
  2007. Because  of  the prevalence of hard disk usage these  days,  the  following 
  2008. assumptions about the hardware to be used to set up RBBS-PC has been made:
  2009.  
  2010.          1. IBM PC or XT with a hard disk (previously formatted!)
  2011.          2. Minimum RAM of 256k
  2012.          3. Hayes 1200 external modem
  2013.          4. Dedicated 'voice grade' phone line
  2014.  
  2015.                              SOFTWARE REQUIRED
  2016.  
  2017.          1. IBM PC-DOS 2.0 or higher to adequately support a hard disk
  2018.          2. RBBS-PC.EXE - the main program
  2019.          3. CONFIG.EXE - the setup program
  2020.          4. RBBS-PC.DOC - the documentation file
  2021.          5. ALL of the RBBS text files: MENU1 - MENU5, HELPxx, *.HLP,
  2022.             WELCOME, DIR.DIR, xxxxxxxx.DIR, PRELOG, BULLET, BULLETxx
  2023.          6. A text editor (PE2, WS non-doc, EDLIN, etc.) to create other
  2024.             useful/needed text files.  Your editor MUST be capable of
  2025.             saving spaces (hex 20's) as characters and not substitute
  2026.             tab characters for strings of spaces.  Those mentioned
  2027.             above ARE.
  2028.          7. WATCHDGx.COM - an external carrier monitor prgm. x=COMx:
  2029.                            available from most RBBS-PC systems.
  2030.  
  2031. 1.  [ ] PRINT A COPY OF THE DOCUMENTATION!
  2032. 2.  [ ] Have dinner or take a nap while the previous step executes.
  2033. 3.  [ ] Create a sub-directory in which RBBS-PC is to reside.
  2034. 4.  [ ] Change current directory to the newly created directory CHDIR \RBBS.
  2035. 5.  [ ] Create a sub-directory called NEW for your uploads.
  2036. 6.  [ ] Create any other sub-directories you desire to hold downloads
  2037.  
  2038.              MKDIR TURBO
  2039.              MKDIR PATCHES
  2040.              MKDIR UTILS        etc. as sub-directories of C:\RBBS
  2041.  
  2042.         The  following  is a suggested 'layout' of the sub-directories  and 
  2043.         files which comprise RBBS.
  2044.  
  2045. C:\
  2046.     COMMAND.COM
  2047.     \DOS
  2048.     \RBBS
  2049.          RBBS.BAT
  2050.          RBBS-PC.EXE
  2051.          CONFIG.EXE
  2052.          WATCHDGx.COM
  2053.          MESSAGES
  2054.          USERS
  2055.          MENU1
  2056.          MENU2
  2057.          MENU3
  2058.          MENU4
  2059.          MENU5
  2060.          HELPxx
  2061.  
  2062.                        Page 32 of 149
  2063. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2064.  
  2065.          *.HLP
  2066.          WELCOME
  2067.          PRELOG (OPTIONAL)
  2068.          BULLET
  2069.          BULLET1 (HOWEVER MANY)
  2070.          FILESEC
  2071.          PASSWRDS
  2072.          TRASHCAN
  2073.          CALLERS (WRITTEN BY RBBS-PC)
  2074.          COMMENTS (IF NOT USING COMMENTS AS MESSAGES WILL BE CREATED BY RBBS)
  2075.     \RBBS\NEW
  2076.              UPLOADS.DIR
  2077.              (Whatever your users upload will go here)
  2078.     \RBBS\DIR
  2079.              DIR.DIR
  2080.              TURBO.DIR
  2081.              UTILS.DIR
  2082.     \RBBS\DNLOADS
  2083.              (Whatever your users can download you must put here)
  2084.  
  2085. 7.  [ ] Copy RBBS-PC.EXE to the current directory  (C:\RBBS should be).
  2086. 8.  [ ] Copy CONFIG.EXE to the current directory.
  2087. 9.  [ ] Copy all MENU and HELP files to the current directory.
  2088. 10. [ ] Create a text file which will serve as your bulletins menu (default
  2089.         = BULLET) using your text editor.   Normally,  it is desirable  for 
  2090.         this to be a single 23-line page or shorter.  This is to serve as a 
  2091.         'menu'  for the user to select bulletins for reading by choosing  a 
  2092.         number  (1-99).   Each  bulletin  file  you create  will  be  named 
  2093.         BULLETxx  where xx = the number on this menu file.   The  following 
  2094.         illustrates what you might create:
  2095.  
  2096. +----------------------------------------------------------------+
  2097. |                         Bulletin Menu                          |
  2098. |----------------------------------------------------------------|
  2099. | # | UPDATED  |                  SUBJECT                        |
  2100. |-----------------------------------------------------------------
  2101. | 1 | 01/01/80 | TOPIC OF BULLETIN #1  (BULLET1)                 |
  2102. | 2 | 01/01/80 | TOPIC OF BULLETIN #2  (BULLET2)                 |
  2103. | 3 | 01/01/80 | TOPIC OF BULLETIN #3  (BULLET3)                 |
  2104. +----------------------------------------------------------------+
  2105.  
  2106. 11. [ ] Create a text file for each bulletin that are going to be available
  2107.         BULLET1  BULLET2  ...   etc.   making certain that the contents  of 
  2108.         each corresponds to the indication in the bulletin menu file.
  2109. 12. [ ] To support  all  of the  graphics options  of RBBS you  will need a
  2110.         separate  BULLET  file (BULLETG for IBM-ASCII and BULLETC for  ANSI 
  2111.         graphics).   This naming convention (suffix of G or C) applies also 
  2112.         to  the menus and the directory files.   If disk space  is,  or  is 
  2113.         anticipated to be, a problem use of only one set of menu.  Graphics 
  2114.         or color menus and bulletins are entirely optional and RBBS-PC will 
  2115.         run fine without them.
  2116. 13. [ ] Create a text  file named PRELOG.  Although  this file is  truly an
  2117.         an option,  it is a good place for announcements which you want all 
  2118.         callers to see.  If your system restricts new users to 1200 baud or 
  2119.         higher  it  is also a good place to let 300 baud callers  know  why 
  2120.         they cannot log on.
  2121. 14. [ ] Create a text  file named  WELCOME (WELCOMEG, WELCOMEC, if desired)
  2122.         which can contain anything you'd like to express to your callers in 
  2123.         the way of a greeting or other info.   Many SYSOPS use this file to 
  2124.         display their 'logo' and a brief description of the equipment  they 
  2125.         are using.
  2126.  
  2127.                        Page 33 of 149
  2128. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2129.  
  2130. 15. [ ] Now we come to the  text files  which are the most  hassle, both to
  2131.         create  initially  and to maintain.   The files list(s)  which  are 
  2132.         called directories in the documentation.   These text files require 
  2133.         a very specific format (illustrated below) because RBBS-PC searches 
  2134.         for  information based on the fields being pre-determined  lengths.  
  2135.         The  top  of  each file should be a 'header'  which  describes  the 
  2136.         contents of the list (utilities, newfiles, etc.).
  2137.  
  2138.     ************************************************************************
  2139.     HEADER ILLUSTRATION        HEADER ILLUSTRATION       HEADER ILLUSTRATION
  2140.     ------------------------------------------------------------------------
  2141.     NAME.EXT         SIZE    DATE    DESCRIPTION
  2142.     ************************************************************************
  2143.     RBBSCRIP.ARC     2560  07-20-86  QMODEM SCRIPT to log you onto RBBS's
  2144.     PC-QUIZ.ARC     34048  07-19-86  Used to quiz or as a trivia game
  2145.     DB3AR.ARC       53248  07-17-86  dBASE ]I[ Accounts Receivable Package
  2146.     ^            ^         ^         ^
  2147.     1            14        24        34
  2148.  
  2149.     NOTE THE NUMBERS UNDER THE CARETS!  They  indicate the  starting column
  2150.     for each field.  Fortunately, the starting columns are the same for the 
  2151.     output  of the DOS 'DIR' command which by re-directing the output to  a 
  2152.     file will take care of the structure of the first four fields.   You'll 
  2153.     need  to delete the time of day which DOS will include in  the  output.  
  2154.     One  last comment on the 'directory' files,  it will be to your  users' 
  2155.     advantage  if  you arrange the listings in descending date order  (most 
  2156.     recent first) as illustrated above.
  2157.  
  2158. 16. [ ] You will want a ".DIR" file  to correspond to each of the  DOS sub-
  2159.         directories available to your users for downloading.
  2160. 17. [ ] Create a text  file  named  DIR.DIR  which  contains a list  of the 
  2161.         available  .DIR  filenames  (minus the extension)  and  some  brief 
  2162.         description of how the user may view these lists.
  2163.                    i.e. L;XYZ    or    L;123
  2164.  
  2165.         Now for some suggestions:
  2166.           1) Place all your .DIR files in the same subdirectory.
  2167.           2) If you don't want your upload directory seen, do NOT
  2168.              place it in with the other .DIR files.
  2169.  
  2170. 18. [ ] Create a text  file named  FILESEC  which  is one  of the most sig-
  2171.         nificant  of  the SYSOP generated files since it  gives  you  total 
  2172.         control  of  which files & sub-directories are available to you  or 
  2173.         your  users for downloading.   Files may additionally be  protected 
  2174.         from downloading by password(s) which RBBS will require of the user 
  2175.         if the file is requested.  The format of this file is VERY specific 
  2176.         as  are  the  other security related files  you  will  create.   An 
  2177.         illustration of what a FILESEC file might look like is as follows:
  2178.  
  2179.         FILESEC - the first three examples are protected internally by 
  2180.                   RBBS-PC from downloading even by the SYSOP, but make
  2181.                   good examples anyway.
  2182.  
  2183. C:\RBBS\*.DEF,10,            Downloadable ONLY by security level 10's
  2184. C:\RBBS\CALLERS,10,CTSA      ONLY by security level 10's who know password CTSA
  2185. C:\RBBS\COMMENTS,,CTSA       Any security level who know password CTSA
  2186. C:\COMM\*.*,,CTSA            ALL files in \COMM protected requiring pswd. CTSA
  2187.  
  2188. 19. [ ] Create yet  another text  file named TRASHCAN  which is  checked by 
  2189.         RBBS-PC when a newuser logs on,  it will contain a list of the user 
  2190.         names  which  you  will not permit on  your  system.   These  might 
  2191.  
  2192.                        Page 34 of 149
  2193. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2194.  
  2195.         include  sexually oriented or derogatory  terms,  computer  jargon, 
  2196.         common abbreviations, etc.
  2197.  
  2198.         TRASHCAN - this file contains a list (in UPPER case) of names which 
  2199.                    you  do not wish to have as user names on  your  system.  
  2200.                    This   could  include  foul  language  or  anything  you 
  2201.                    consider  undesirable names.   Each word has to be on  a 
  2202.                    separate line and end with a comma.
  2203.  
  2204. BITE,
  2205. BYTE,
  2206. GLADIATOR,
  2207. THE,
  2208.  
  2209. 20. [ ] Create a text file  named PASSWRDS from  which you may  control the
  2210.         the  logon  duration of various user security levels and/or  permit 
  2211.         extending the current logon of a user through knowledge of specific 
  2212.         passwords.   Again,  the  format  of this file is critical  to  its 
  2213.         functionality.
  2214.  
  2215.         PASSWRDS - This file permits control of logon durations by security 
  2216.                    level and a way of extending the current session by  the 
  2217.                    user changing to a temporary password.
  2218.  
  2219. ,5,45,              all level 5's have 45 mins.
  2220. LONGER,5,90,        by using the TEMPORARY password LONGER 5's get 90 mins.
  2221. ,6,60,              all level 6's have an hour
  2222. ,10,360,            all level 10's have three hours
  2223.  
  2224.          NOTE: Four commas are required on each line, passwords MUST be in
  2225.                uppercase, and each line must end with a carriage return.
  2226.  
  2227. 21. [ ] There is one more text file  which you may  wish to utilize.  Named
  2228.         NEWUSER it is shown only to those persons signing on to your system 
  2229.         for  the  first  time.   It can contain anything which you  want  a 
  2230.         newuser to know about the system (ground rules, conferences, etc.).  
  2231.         It  is  displayed immediately prior to the caller  being  asked  to 
  2232.         C)hange his logon data, D)isconnect, or R)egister on the system.
  2233. 22. [ ] Create a batch file (RBBS.BAT is the one suggested in chapter 15 of
  2234.         the documentation) which can be very extensive or minimal depending 
  2235.         upon  your needs/desires.   A minimal one is listed here  for  your 
  2236.         convenience.
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.                        Page 35 of 149
  2258. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2259.  
  2260.                    C:         ;change to your default RBBS drive
  2261.                    CD\RBBS    ;change to the BBS directory
  2262.                    IF EXIST RBBSxF1.DEF DEL RBBSxF1.DEF ;cleanup exit
  2263.                    IF EXIST RCTTY.BAT DEL RCTTY.BAT  ;cleanup if returning
  2264.                                                      ;from DOS/DOORS
  2265.                    WATCHDGx OFF  ;turn off external carrier monitor prgm.
  2266.                    RBBS-PC    ;invoke the BBS prgm.
  2267.                    WATCHDGx ON   ;turn on external carrier monitor prgm.
  2268.                    IF EXIST RBBSxF1.DEF GOTO EXIT
  2269.                    IF EXIST RCTTY.BAT RCTTY.BAT      ;start remote console
  2270.                                                      ;operation via this
  2271.                                                      ;dynamically built .BAT
  2272.                    CD\RBBS    ;return to BBS directory if not current dir.
  2273.                    RBBS.BAT   ;restart the loop
  2274.                    :EXIT      ;exit RBBS-PC if F1 pressed
  2275.  
  2276. 23. [ ] Now with documentation in hand type CONFIG and  press Enter.  After
  2277.         a  welcoming  screen is displayed you will be asked if you will  be 
  2278.         running multiple nodes - for this discussion it is assumed that you 
  2279.         have only one phone line.   So type NO and press the Enter key.  In 
  2280.         a few seconds you will see the main configuration menu,  press  the 
  2281.         F1 key to access the first 'page' of the setup options.   CAREFULLY 
  2282.         answer  each of the questions regarding SYSOP names,  etc.   If you 
  2283.         are  unsure  of  how  to  respond - refer  to  chapter  12  of  the 
  2284.         documentation.
  2285. 24. [ ] Check that your modem's configuration switches have been set to the
  2286.         positions indicated in the docs (for Hayes 1200 external  UUDDDUUD) 
  2287.         or  to the corresponding functions as listed in  the  documentation 
  2288.         for your "Hayes-compatible" modem.  This step can be tricky if your 
  2289.         modem is not among those  detailed in the documentation - even with 
  2290.         the  modem manual in  hand.   But you knew this when you saved  all 
  2291.         that money by purchasing a non-Hayes modem.
  2292. 25. [ ] Press  the 'End' key, respond 'YES' at  the prompt and press Enter.
  2293.         This  creates  a file named RBBS-PC.DEF in the  current  directory.  
  2294.         During  the  execution of CONFIG.EXE it will have also created  two 
  2295.         additional  files  (one for the user file and one for  the  message 
  2296.         file) using the names you specified,  or USERS and MESSAGES if  you 
  2297.         accepted the defaults.
  2298. 26. [ ] Turn on your modem if external.
  2299. 27. [ ] Look at your CONFIG.SYS and AUTOEXEC.BAT files and eliminate any 
  2300.         terminate and stay resident software.
  2301. 28. [ ] Make sure you are running with IBM's (not Microsoft's) PC DOS.
  2302. 29. [ ] Type RBBS and press Enter.  You're on your way as a SYSOP!
  2303.  
  2304. 8.0  THE MOST COMMON PROBLEMS ENCOUNTERED WHEN INSTALLING RBBS-PC
  2305. -----------------------------------------------------------------
  2306. IT  CONTINUALLY RECYCLES!   This is caused by one of several  things.   The 
  2307.    most  likely cause is that you have not set your modem correctly and the 
  2308.    carrier detect (DTR) signal is always "true."  Most modems allow this to 
  2309.    be set either as always true (that is what is causing the recycling)  or 
  2310.    only  true  if  there is a modem on the other end that is  generating  a 
  2311.    carrier signal.
  2312.  
  2313.    If  you have an external modem,  bring up RBBS-PC with the  modem  cable 
  2314.    removed from the PC.  If you have an internal modem, bring up RBBS-PC on 
  2315.    a PC that has a RS-232 interface.  In either case if the problem ceases, 
  2316.    then set your modem's switches so that DTR is not always true.   If your 
  2317.    modem has no switch to do this, get a modem that does.
  2318.  
  2319.    If  the  problem still persists after bringing up RBBS-PC on  an  RS-232 
  2320.    interface  without a modem or modem cable attached and you  are  running 
  2321.  
  2322.                        Page 36 of 149
  2323. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2324.  
  2325.    Microsoft's MS-DOS, bring up RBBS-PC under IBM's PC-DOS.
  2326.  
  2327.    If  after  bringing  up RBBS-PC under IBM's  PC-DOS  the  problem  still 
  2328.    persists,  check  that your RS-232 port's cable really is grounded.   On 
  2329.    AT-like RS-232 interfaces (9-pin),  a metal connector on the modem cable 
  2330.    is often required.
  2331.  
  2332.    If,  after  all  of  the above has been  attempted,  the  problem  still 
  2333.    persists,  try  deleting your MESSAGES and USERS files and re-run CONFIG 
  2334.    to create new ones.  
  2335.  
  2336.    Finally,  having exhausted all the above remedies,  the system continues 
  2337.    to  continually  re-cycle,  you  may have an  incompatible  "clone"  PC, 
  2338.    incompatible DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  2339.  
  2340. IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following 
  2341.    things:
  2342.  
  2343.     1.)  Phone line is not plugged into the modem.
  2344.     2.)  Modem is not powered on.
  2345.     3.)  Modem is not connected to the communications port that RBBS-PC was
  2346.          told to use.
  2347.     4.)  Your modem is not "Hayes compatible" enough to handle the modem
  2348.          commands described in chapter 13.
  2349.     5.)  Your modem cable does not have PIN 22 connected.
  2350.  
  2351.    RBBS-PC   does  not require PIN 22 to be hooked up on the  RS-232  cable 
  2352.    (that's  the   cable  which runs between the modem and the computer)  if 
  2353.    you  specify  in CONFIG that RBBS-PC is  to answer  the phone   on  zero  
  2354.    rings  (and that  it is not  a RING-BACK system).  In this setting RBBS-
  2355.    PC will initialize the modem so that the MODEM automatically answers the 
  2356.    phone.  
  2357.  
  2358.    RBBS-PC's  default is that RBBS-PC depends on PIN 22  to know  when  the  
  2359.    phone  is  ringing   and RBBS-PC (NOT the modem) answers  the  phone  by 
  2360.    issuing the ATS1?  command to determine what ring has occurred and  then 
  2361.    the ATA command to tell the modem to answer the phone (see chapter 13.
  2362.  
  2363.    In order for RBBS-PC to answer the phone on a specified ring number, the 
  2364.    modem  must send a "ring-indicator" signal to to RBBS-PC.   This is  the 
  2365.    way  that  RBBS-PC detects that the phone is  ringing.   Some  computers 
  2366.    (i.e.  the PCjr's external RS-232 interface) and some modem cables don't 
  2367.    have a "ring-indicator" signal.   PIN 22 is the  ring  indicator  coming  
  2368.    from the modem going to the  computer. Just because you bought an RS-232 
  2369.    cable, don't assume that it has PIN 22 connected.  The $55 12-pin RS-232 
  2370.    cable  sold by many computer stores often may not have PIN 22 connected.  
  2371.    For  about $18 in parts from Radio Shack you can put together  your  own 
  2372.    RS-232  cable with all the  pins connected.   Recently a friend of  mine 
  2373.    paid  $14.88  (including postage) for a RS-232 cable with all  the  pins 
  2374.    connected  by  ordering part number CDB25P-4-S from Jameco  Electronics.  
  2375.    Jameco Electronics' telephone number is (415) 592-8097.
  2376.  
  2377. IT  LOCKS  UP MY SYSTEM!   Actually this is probably caused by one  of  the 
  2378.    following things:
  2379.  
  2380.     1.)  The .EXE file generated by the BASIC compiler is incompatible with 
  2381.          either the DOS that you are running (i.e. it isn't IBM's DOS) or
  2382.          the other software you load into the system prior to running RBBS-
  2383.          PC via CONFIG.SYS or your AUTOEXEC.BAT file.
  2384.     2.)  You  indicated  in  CONFIG that you were running in  one  of  the 
  2385.          supported networks (i.e. CORVUS, MultiLink, Orchid, etc.) but you
  2386.  
  2387.                        Page 37 of 149
  2388. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2389.  
  2390.          aren't.
  2391.     3.)  You are running on a Compaq Deskpro (or using an add-on board that
  2392.          uses  the  unused IBM DOS interrupt X'7F') and  should  have  used 
  2393.          CONFIG to indicate you are using an IBM-compatible PC.
  2394.     4.)  You are using an internal modem that doesn't have the same switch
  2395.          settings as the Hayes 1200 and/or your modem needs to have the
  2396.          result codes turned off when RBBS-PC re-cycles.  Set the modem
  2397.          initialization string to:
  2398.                     ATQ1E1F1M1X0H0
  2399.  
  2400. 9.0  PLANNING YOUR USER INTERFACE
  2401. ---------------------------------
  2402. RBBS-PC  provides each SYSOP the maximum control over what is presented  to 
  2403. callers.  There are three areas of control:
  2404.  
  2405. o    The menus presented to novice callers.
  2406.  
  2407. o    What is included in the prompt all users get.
  2408.  
  2409. o    What symbol invokes a particular function.
  2410.  
  2411. 9.1 Menus Shown to Callers
  2412. --------------------------
  2413. The  menus in RBBS-PC are external text files that are presented to  novice 
  2414. users.   RBBS-PC  simply  displays what is in these files to  the  callers.  
  2415. Therefore,  SYSOPs  are free to change the text in these files to  whatever 
  2416. they  desire.   Simply edit the files.   However,  be sure to use an editor 
  2417. that  produces  only ASCII text files with no special embedded  characters.  
  2418. Most  word processing editors are not suitable because they insert  special 
  2419. symbols in the file meaningful only to it.  WordStar, in non-document mode, 
  2420. is fine,  as is the Personal Editor when files are saved with no tabs,  and 
  2421. the Program Editor.   Most editors used for creating computer programs  are 
  2422. suitable.
  2423.  
  2424. RBBS-PC  supports three types of files,  which the caller can select  using 
  2425. his  graphics preference.   A file with no graphics has only typable  text.  
  2426. ASCII  graphics  means  that all 255 ASCII values display on  the  caller's 
  2427. screen using the IBM PC display conventions.   This allows support for many 
  2428. symbols,  such as straight lines,  a heart,  and many others.   Using these 
  2429. conventions,  many fancy graphic displays are possible.   Last,  a use  can 
  2430. request color graphics,  which means that the caller's monitor supports not 
  2431. only the IBM display conventions but supports ANSI commands for controlling 
  2432. the  monitor,  which include such things as color as well as special  modes 
  2433. like  blinking.   Using ANSI commands,  it is possible to fully control the 
  2434. caller's monitor.  One can go so far as to create animated pictures.  
  2435.  
  2436. Menu files are known by their names.  The format is XXXXXXXY, where XXXXXXX 
  2437. is the base file name and Y is a one-character addition.   Y is nothing for 
  2438. no graphics,  G for ASCII graphics, and C for color graphics.  RBBS-PC will 
  2439. look  for  a  file based on the users graphic preference  and  display  the 
  2440. graphics version if it exists.  Otherwise, the non-graphics file is used.
  2441.  
  2442. Graphics  files have more characters in them and therefore take  longer  to 
  2443. transmit.   Creating them is not easy.  However, there are special ANSI and 
  2444. graphics editors which make creating such files much easier.
  2445.  
  2446. 9.2 Subsystem Prompts Shown to Callers
  2447. --------------------------------------
  2448. RBBS-PC  has several configuration options which allow each SYSOP to select 
  2449. the prompts that are presented to callers.  They are:
  2450.  
  2451.  
  2452.                        Page 38 of 149
  2453. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2454.  
  2455. o   Whether the section name is shown.
  2456.  
  2457. o   Whether the letters of the available commands are shown.
  2458.  
  2459. The commands in RBBS-PC are divided into three sections:   MAIN,  FILE, and 
  2460. UTILITY.   Each has a set of commands in them and there are command to move 
  2461. between  sections.   If the SYSOP elects for the section name to be  shown, 
  2462. the  command line will read "<section> command",  otherwise "Your command".  
  2463. The default is to show the section.
  2464.  
  2465. RBBS-PC  normally  prompts  a caller with the commands  available  in  each 
  2466. section that the caller has sufficient security to invoke.  Each command is 
  2467. a single letter and is shown separated from the others by a  comma.   These 
  2468. command  letters  can either be suppressed or not.   By leaving them  on  a 
  2469. SYSOP  provides  each  caller  with a terse but helpful  reminder  of  what 
  2470. commands are available to them.
  2471.  
  2472. 9.3 Commands Available to Callers
  2473. ---------------------------------
  2474. All primary commands in RBBS-PC are invoked by single letter commands.   An 
  2475. attempt  is made to associate the command with the first letter in  a  word 
  2476. which  describes the function,  so that the command letter appears to be  a 
  2477. short  abbreviation  for the longer word.   The command to  invoke  reading 
  2478. messages is R.  The default symbols that would be shown in the command line 
  2479. for each section are:
  2480.  
  2481. section|? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7
  2482. -------|-------------------------------------------------------------------
  2483. MAIN   |? A B C D E F   H I J K       O P Q R S T   V W X     1 2 3 4 5 6 7
  2484.        | 
  2485. FILE   |?       D     G H       L   N     Q   S   U V   X
  2486.        |
  2487. UTILITY|?   B C     F G H       L M       Q R S T U     X
  2488.        |
  2489. GLOBAL |?               H                 Q             X
  2490.  
  2491. Four commands,  ? H Q and X, have the same meaning in every section and are 
  2492. known  as "global."  The other commands all have unique  function  specific 
  2493. for the section within which they are invoked.   For example, S in the main 
  2494. section  stands  for S)can messages,  but S)ubstring search in  files,  and 
  2495. S)tatistics on the board and session in utilities.   Symbols 1-7 stand  for 
  2496. SYSOP functions.
  2497.  
  2498. RBBS-PC allows the SYSOP to substitute any symbol for any  command.   Y)ell 
  2499. may  be substituted for O)perator page,  or Y)our mail for P)ersonal  mail.   
  2500. If  a blank is substituted,  the command is removed from the list and is no 
  2501. longer available.   Since there is no V)iew conference command in the  main 
  2502. section,  a  SYSOP may elect to disable the V)iew conference command in the 
  2503. main section by substituting a blank for it.
  2504.  
  2505. 9.4 RBBS-PC's "Wrap-around" Command Search
  2506. ------------------------------------------
  2507. There is a special option available in CONFIG which gives the SYSOP unusual 
  2508. flexibility in configuring the user interface.   A caller is always "in"  a 
  2509. section,  that  is where RBBS-PC looks for a command that the user requests 
  2510. to  see whether it is a valid command.   The "wrap around" option  controls 
  2511. how  RBBS looks further for a command when it is not found in  the  section 
  2512. the caller is in.   If a SYSOP substitutes a blank for the V>iew conference 
  2513. command in the main section (as mentioned in section 9.3) and a user enters 
  2514. the  V  command from the main section,  the V>erbose ARC file list  command 
  2515. would be what the caller would have invoked.  
  2516.  
  2517.                        Page 39 of 149
  2518. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2519.  
  2520. The basic idea is to look further in other sections, where the search order 
  2521. is MAIN->FILE->UTILITY->GLOBAL->SYSOP and the search is circular, more like
  2522.  
  2523.                 ,-->- SYSOP --> MAIN -->---.
  2524.                 |                          |
  2525.                 G                          |
  2526.                 L                          F
  2527.                 O                          I
  2528.                 B                          L
  2529.                 A                          E
  2530.                 L                          |
  2531.                 |                          |
  2532.                 `----<--- UTILITY ---<-----' 
  2533.  
  2534. The  current  section determines only where the search  starts.   If  roll-
  2535. around is used, the search will go completely around.  The real reason that 
  2536. "global" commands are global is that that RBBS-PC always searches after the 
  2537. utility section if a command is not in the current section.  SYSOP commands 
  2538. are therefore global for the same reason.
  2539.  
  2540. The  important feature that roll-around supports is that a command  with  a 
  2541. unique  letter works in all sections.   Thus W)ho will work everywhere  the 
  2542. same  if  roll-around  is  enabled.   THIS ALLOWS  THE  SYSOP  TO  SUPPRESS 
  2543. SECTIONS.   In  effect,  by enabling roll-around and giving each command  a 
  2544. unique  symbol,  all  commands  become  global and there  is  no  effective 
  2545. difference between sections.  This allows SYSOPS to make commands available 
  2546. on  a  single  level and makes it unnecessary to "go" to a  section  before 
  2547. using a command in that section.
  2548.  
  2549. 9.5 How to Have a Single Universal Command Line
  2550. ------------------------------------------------
  2551. The  command structure within RBBS-PC can be made "flatter" without  making 
  2552. it absolutely flat.  Suppose, for example, that a SYSOP wants callers to be 
  2553. able to do all file functions without going to a files section.  In effect, 
  2554. the  file functions are available in the main section,  or the file section 
  2555. is merged into the main section.   All that is needed to do is to eliminate 
  2556. the  overlap  in  command letters between the  two  sections.  
  2557.  
  2558. The shared letters are D,  S,  V, and U.  V is easy to handle.  Since it is 
  2559. not really used in the main menu, just disable V in the main section.
  2560.  
  2561. D is difficult because both D)oors and D)ownload are entrenched and natural 
  2562. options.   One  could  leave D for the most frequently used  function,  say 
  2563. download, then use a special but arbitrary symbol like @ for doors.
  2564.  
  2565. S)earch  for  substrings  could be replaced by F)ind since F for  going  to 
  2566. F)iles  is  not longer needed.   This could be  accomplished  by  disabling 
  2567. F)iles  and  substituting  F  for  S  in  the  files  commands.   The  main 
  2568. disadvantage is that experienced users will use F expecting to get into the 
  2569. F)iles section and will get a confusing command.   Alienating the old users 
  2570. who will try to use F would defeat the purpose of helping them by making it 
  2571. unnecessary  to use F to get the file functions.   Better to leave F  alone 
  2572. and use a new letter like Z for Z)ippy search.
  2573.  
  2574. U  has  to be upload.   Note that Quit could still get  one  to  utilities.  
  2575. Using Q;U we can then disable U in the main menu.   If three symbols is too 
  2576. much of an exception we could use W for W)rite user preferences.   Then  we 
  2577. could revise the main menu to read
  2578.  
  2579.                       R B B S   M A I N   M E N U
  2580.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2581.  
  2582.                        Page 40 of 149
  2583. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2584.  
  2585. -- MESSAGES --   -- SYSTEM --    - FILES -   - UTILITIES -  - ELSEWHERE -
  2586.  E)nter Msg      A)nswer survey  D)ownload   H)elp (or ?)      Q)uit
  2587.  K)ill Msg       B)ulletins      L)ist       W)ho's on      F)iles (Q;F)
  2588.  P)ersonal Mail  C)omment        N)ew        X)pert on/off  G)oodbye (Q;S)
  2589.  R)ead Msgs      @)DOORS         U)pload                    W)rite user-pref
  2590.  S)can Msg hdr   I)nitial Wel    Z)ippy srch                  (Q;U)
  2591.  T)opic msg scan O)perator Page
  2592.  
  2593. This menu could be re-written without any apparent sub-sections as
  2594.  
  2595.                       R B B S   M A I N   M E N U
  2596.                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2597.  A]nswer survey  G]oodbye          N]ew files       T]opic msg scan
  2598.  B]ulletins      H]elp (or ?)      O]perator page   U]pload   
  2599.  C]omments       I]nitial welcome  P]ersonal mail   W]rite user preferences
  2600.  @]DOORS         J]oin conference  Q]uit            X]pert on/off
  2601.  D]ownload       K]ill message     R]ead messages   Z]ippy search
  2602.  E]nter msg      L]ist files       S]can messages
  2603.  
  2604. In  order  not to confuse the caller by being in a section and seeing  only 
  2605. some of the commands we want him to use,  the SYSOP could elect not to show 
  2606. the  section  in  the  prompt (CONFIG parameter 37) and  not  to  show  the 
  2607. commands (CONFIG parameter 38). Callers would see simply "Your command?" as 
  2608. the prompt.  This makes the expert mode pretty terse, but that simply means 
  2609. users would spend more time in novice mode before using expert.
  2610.  
  2611. Now  suppose  that  only  a single command line was desired  and  that  the 
  2612. commands from the "Utilities" menu commands were to be added to the  above.  
  2613.  
  2614. The  "global" H,  ?,  Q,  and X commands already are in the single  command 
  2615. line.
  2616.  
  2617. M  for  message  margin  can remain unchanged since it  is  unique  to  the 
  2618. Utilities subsystem.   
  2619.  
  2620. In  order to accommodate the redundancy of letters that exist by  including 
  2621. the  Utilities  subsystem's commands,  the W command for the  main  message 
  2622. subsystem  can be re-enabled and the remote SYSOP's commands be  eliminated 
  2623. in order to re-use the numbers.   The Utilities subsystem commands B, C, F, 
  2624. G,  L,  R,  and  S could then be replaced by the numbers 1 through 9.   The 
  2625. Utilities  subsystem commands T and U could be replaced by the  commands  < 
  2626. and >, respectively.
  2627.  
  2628. This  final  menu of all RBBS-PC commands could be re-written  without  any 
  2629. apparent  sub-sections as follows and the screen that the would  appear  to 
  2630. the "novice" users as:
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.                        Page 41 of 149
  2648. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2649.  
  2650.                       R B B S  C O M M A N D S
  2651.                       ~~~~~~~~~~~~~~~~~~~~~~~~
  2652.  A]nswer survey     M]essage margin set    1] Change Baud Rate 300-->450
  2653.  B]ulletins         T]opic msg scan        2] Display time of day
  2654.  C]omments          O]perator page         3] Set file transfer protocol
  2655.  @]DOORS            P]ersonal mail         4] Set type of graphics mode
  2656.  D]ownload          Q]uit                  5] Set page length
  2657.  E]nter msg         R]ead messages         8] Review callers preferences
  2658.  G]oodbye           S]can messages         9] Display system statistics 
  2659.  H]elp (or ?)       U]pload a file         <] Toggle users options on/off
  2660.  I]nitial welcome   W]ho's on other nodes  >] Show the log of callers
  2661.  J]oin conference   X]pert on/off
  2662.  K]ill message      Z]ippy search
  2663.  L]ist files
  2664.  
  2665. Your command?
  2666.  
  2667.  
  2668. 10.0  PLANNING ON HOW TO UNIQUELY IDENTIFY YOUR CALLERS
  2669. -------------------------------------------------------
  2670. All callers need a way to identify themselves and to re-identify themselves 
  2671. on subsequent calls so that they can,  for example, read the mail addressed 
  2672. to  them.   RBBS-PC  expects  each caller to set a password so  that  other 
  2673. callers cannot easily pretend to be that caller.   Callers are most  easily 
  2674. known  on bulletin boards the same way they are known in real life  - which 
  2675. is  usually by first and last name.   This is why the default configuration 
  2676. in RBBS-PC uses first and last name to IDENTIFY users.  The first/last name 
  2677. is the callers identify or ID.
  2678.  
  2679. RBBS-PC  also  allows the SYSOP to identify callers uniquely  by  something 
  2680. other  than their first and last names.   Perhaps the SYSOP wants one  word 
  2681. alias  like  AVENGER  are  to be allowed or  perhaps  callers  must  use  a 
  2682. preassigned  access  code (access code,  employee number,  account  number, 
  2683. etc.).   RBBS-PC  allows  ANY FIELD inside the users file to  be  used  for 
  2684. identification.   Since there are empty, unused areas in the user  file,  a 
  2685. SYSOP can even CREATE A NEW FIELD to be used for caller identification.
  2686.  
  2687. When  anything  other than name is used to identify  users,  RBBS-PC  still 
  2688. wants  callers  to  specify  their  names.   It  just  does  not  use  that 
  2689. information to identify them.
  2690.  
  2691. A fairly common problem on bulletin board systems with large user lists  is 
  2692. that two callers can have the same first and last name.  A caller discovers 
  2693. this when they are unexpectedly asked for a password on the first call to a 
  2694. new  system,  indicating  that another caller has already used  that  name.  
  2695. Further,  since  RBBS-PC  is  used  world-wide  many  non-english  speaking 
  2696. countries (i.e.  in Europe,  South America, the Far East) have callers with 
  2697. names  that have embedded blanks,  etc.   RBBS-PC alleviates  this  problem 
  2698. by  allowing interior blanks in first and last names.   Thus JIM JONES  can 
  2699. register as JIM K JONES or JIM JONES SR or JIM JONES III.
  2700.  
  2701. By  allowing  ANY  field  inside the user record to  be  used  to  uniquely 
  2702. identify individual callers, RBBS-PC alleviates the basic problem of having 
  2703. two callers with the same name.
  2704.  
  2705. This additional INDIVIDUATION field is used to distinguish callers with the 
  2706. same ID.   The way this works is that callers will have to specify both the 
  2707. identifying  and  individuation field and both are used to match record  in 
  2708. the  users  file.   This individuation field can likewise be  a  new  field 
  2709. created by the SYSOP.   For example,  the SYSOP can specify that callers be 
  2710. uniquely identified by both their name and their CITY/STATE.  Alternatively 
  2711.  
  2712.                        Page 42 of 149
  2713. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2714.  
  2715. the  SYSOP can specify that callers are to be uniquely identified by  their 
  2716. telephone number, which would be a new field for RBBS-PC to store.
  2717.  
  2718. 10.1  How to Set Up Identifying and Individuation Fields
  2719. --------------------------------------------------------
  2720. The  identifying  and  individuation fields in RBBS-PC  are  controlled  by 
  2721. parameters  in CONFIG.   The default is to use the caller's first and  last 
  2722. name (combined to be simply name) to uniquely identify a user.   
  2723.  
  2724. The fields available to uniquely identify a caller (other than the caller's 
  2725. first  and last name) are designated in CONFIG by  the starting position in 
  2726. the  users file and length.   It is essential therefore to understand WHERE 
  2727. FIELDS  ARE STORED IN THE USER FILE.   Consult Appendix A for the  detailed 
  2728. layout of the user file.
  2729.  
  2730. RBBS-PC's  flexibility requires caution to be exercised when selecting  the 
  2731. locations  of fields used to identify and individuate,  because options can 
  2732. be selected that make no sense.  For example, it is possible to specify the 
  2733. user  preference  field,  which  means  that  every  time  a  user  changed 
  2734. preferences,  such as default protocol,  the user would become a  different 
  2735. user.  
  2736.  
  2737. There  are only two fields in the user file that make sense for identifying 
  2738. users:  
  2739.  
  2740.     1.)  first/last name (column positions 1-31),  or
  2741.     2.)  a field designated by you as the SYSOP for your RBBS-PC.
  2742.  
  2743.          For a SYSOP-designated field,  only 4 choices make sense:
  2744.            none,
  2745.            name (columns  1-31),
  2746.            city/state (columns 63-86),  or 
  2747.            positions 87-105 in the user record currently "unused."
  2748.  
  2749. Positions 87-105 of the users file currently unused provides a potential 19 
  2750. columns to use for special,  SYSOP designated fields.  However, there is no 
  2751. guarantee that these positions will not be used in later releases of  RBBS-
  2752. PC.   Additional  fields  will  be  used from the  far  right.   Any  SYSOP 
  2753. intending  to utilize this area of the users record is safest if the  field 
  2754. selected begins in column 87 and is as short as possible.   The shorter  it 
  2755. is,  the more likely there will be room in later releases.  For example, 11 
  2756. columns  might  be used for telephone number (format  123-1234567).   Or  5 
  2757. columns might be used for account number.
  2758.  
  2759. When  a special field is created,  the SYSOP must also supply the prompt to 
  2760. be used with the field, since RBBS-PC has no way of knowing how to describe 
  2761. the field to a caller.   The prompt is what is displayed to the caller when 
  2762. asking for the value of the field.
  2763.  
  2764. RBBS-PC uses the callers first and last name for the "to" and "from" fields 
  2765. for  messages  even when the users name is not the field used  to  uniquely 
  2766. identify callers.
  2767.  
  2768. 10.2  PRELOADING IDENTITIES FOR INSTANT ACCESS
  2769. ----------------------------------------------
  2770. SYSOPs  that operate bulletin boards that are open to new callers  have  no 
  2771. problems  giving a new caller instant access --  new callers register,  set 
  2772. their identity and password, and are immediately on.
  2773.  
  2774. SYSOPs   that  operate   bulletin  boards  that  are  only   available   by 
  2775. subscription  or  who  delay  access operate differently  --  a  user  must 
  2776.  
  2777.                        Page 43 of 149
  2778. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2779.  
  2780. already know and be able to state identity,  individuation, and password in 
  2781. order  to get on.   To add a new user,  the values of these fields must  be 
  2782. communicated  back  to  the caller in order for them to  have  access.   To 
  2783. overcome  this cumbersome approach,  some SYSOPs allow new callers on their 
  2784. system (albeit at a security level so low that the caller can do little, if 
  2785. anything) and simply raise the security level of the caller once the caller 
  2786. has met whatever criteria the SYSOP has set for access to the system.
  2787.  
  2788. Typically  new callers must call back and continue to check to see if their 
  2789. security  level has been raised.   Systems that do not let new  callers  on 
  2790. require  the SYSOP to enter the appropriate information for each new  user, 
  2791. contact  the new caller by mail or phone,  and let them know how to get on.  
  2792. Both  approaches  introduce  delays  to new  callers  for  getting  on  and 
  2793. additional time, expense and overhead for the SYSOP.
  2794.  
  2795. RBBS-PC provides a systematic solution to the problem of delayed access for 
  2796. new user!  A SYSOP can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD 
  2797. OR PASSWORD.  These fields can be left blank.  When a caller logs on with a 
  2798. proper  ID  and  RBBS-PC finds an individuation value or password  that  is 
  2799. blank, it lets the caller set the value of those fields without requiring a 
  2800. match.   Subsequent calls,  but not the first, must match the value set for 
  2801. individuation and password.
  2802.  
  2803. Even though a SYSOP can add a user and leave the password and individuation 
  2804. blank,  this still requires that the SYSOP add the user only after an ID is 
  2805. agreed  to by both parties.   What if this access is still not fast enough?  
  2806. The  solution  provided by RBBS-PC is for the SYSOP to "pre-load"  IDs  and 
  2807. give  out  a pre-loaded ID to the caller for instant access,  so  that  the 
  2808. client does not have to wait even for the SYSOP to add the ID.  Since there 
  2809. is  no way to set in advance how a user wants to be identified,  the  SYSOP 
  2810. can set up essentially random account IDs which are difficult to guess  and 
  2811. give these out.
  2812.  
  2813. Callers  willing to charge subscription fees on their credit cards over the 
  2814. telephone  can  be given a valid pre-loaded ID  for  instant  access.   The 
  2815. ability  of RBBS-PC to use any field for an ID,  and let the first call set 
  2816. individuation  and password,  means that RBBS-PC can support  boards  where 
  2817. instant access is a critical part of their service.
  2818.  
  2819. 11.0  RBBS-PC's OPTIONAL AUTOMATIC SUBSCRIPTION MANAGEMENT SYSTEM
  2820. -----------------------------------------------------------------
  2821. RBBS-PC  has support built into it for managing access based on the date of 
  2822. the call.  The primary uses of this facility are
  2823.  
  2824. o   to make it very easy to control access based on subscription dates.
  2825. o   to give callers a temporary, date limited boost in privileges.
  2826.  
  2827. The subscription management system dramatically reduces the work  necessary 
  2828. for  subscription maintenance.   After a user is registered,  RBBS-PC  will 
  2829. AUTOMATICALLY
  2830.  
  2831. o   warn users before their subscription expires
  2832. o   reduce the security of callers whose subscription has expired.
  2833.  
  2834. In  effect,  a subscription RBBS-PC can be left on "automatic" pilot and it 
  2835. will operate correctly, without additional effort on the SYSOP's part.
  2836.  
  2837. The  subscription  management system can also be used to  grant  callers  a 
  2838. temporary  boost in privileges.  For example, giving new callers  a  "free" 
  2839. trial period.
  2840.  
  2841.  
  2842.                        Page 44 of 149
  2843. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2844.  
  2845. Just  like cable TV channels that sometimes have a free week of viewing  to 
  2846. attract new subscribers by letting them know what they are missing, a SYSOP 
  2847. of  a subscription RBBS-PC can set up limited free offers.  By setting up a 
  2848. default subscription period of say, 5 days, all new callers can be let onto 
  2849. to see whether they want to subscribe.   After 5 days,  security drops back 
  2850. down  to a more limited level.   This "free" period can be made a  standing 
  2851. offer,  or turned off after a two week period.   Or,  a user who requests a 
  2852. trial period can be individually added with a short subscription period.
  2853.  
  2854. Limited  trial subscriptions also are an attractive alternative  for  those 
  2855. SYSOPs that do not give full privileges until after a caller is verified or 
  2856. checked  out.   These  callers are either asked to fill out a  registration 
  2857. form or leave a comment,  then sometime later the SYSOP decides whether  to 
  2858. increase   the  security  level.    By  letting  new  users  have  a  short 
  2859. registration period with higher privileges,  say 3 days, a SYSOP may choose 
  2860. to give new callers immediate access and minimize the pressure to check the 
  2861. new caller out as soon as possible.   The SYSOP need do nothing if a caller 
  2862. cannot be verified.   Those that check out get their security raised.  This 
  2863. way the many honest new users are not penalized but the prank or  dishonest 
  2864. callers can get on only briefly.
  2865.  
  2866. 11.1 Setting It Up
  2867. ------------------
  2868. The subscription management system is turned on by specifying in CONFIG  to 
  2869. limit  callers by subscription date.   After access is so limited,  RBBS-PC 
  2870. automatically records the date of the first call.  For old users, this will 
  2871. be  the first call made since the subscription date began to limit  access.  
  2872. This recorded date is the base registration date.   The SYSOP then needs to 
  2873. specify in CONFIG:
  2874.  
  2875. o   A default subscription period (the number of days a new user gets).
  2876.  
  2877. o   A warning period (which  determines  when  callers  will get an
  2878.     advance  warning  that  their subscription is about to expire.   The
  2879.     warning period is the number of days left needed to trigger a warning.)
  2880.  
  2881. o   The security level expired subscribers get.
  2882.  
  2883. In the PASSWRDS file, the SYSOP designates:
  2884.  
  2885. o   Different subscription periods for each security level (other than the
  2886.     default security level).   This needs to be specified only if a 
  2887.     subscription period is desired that will override the default.
  2888.  
  2889. RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the 
  2890. subscription period to the base registration date.   Persons calling  after 
  2891. this  expiration date are bumped down to the expired security level set  by 
  2892. the SYSOP in CONFIG.
  2893.  
  2894. The  subscription periods associated with different security levels is  the 
  2895. fourth parameter on a line in the PASSWRDS file (see section 17.3 for  more 
  2896. information).   For example, to associate a subscription period of 365 days 
  2897. with  a  security level of 7 having a daily time limit of 60  minutes,  the 
  2898. entry in PASSWRDS would be
  2899.  
  2900.                        ,7,50,365
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.                        Page 45 of 149
  2908. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2909.  
  2910. 11.2 An Example
  2911. ---------------
  2912. A subscription RBBS-PC offers the following levels of service:
  2913.  
  2914.       $3 for 1 year, 60 minutes per day
  2915.       $5 for 2 years, 60 minutes per day
  2916.       new users, 3 days with 20 minutes else 5 minutes
  2917.  
  2918. This could be instituted by limiting callers by subscription date, limiting 
  2919. the  daily time to the session time,  setting the default security level to 
  2920. 5,  the default session limit to 20,  the default subscription period to 3, 
  2921. and  expired security to 4.   The following lines should then be  added  to 
  2922. PASSWRDS.
  2923.  
  2924.                           ,6,60,365
  2925.                           ,7,60,700
  2926.                           ,4,5,
  2927.  
  2928. New callers get the defaults:   security 5,  20 minutes session time, and 3 
  2929. days  on  subscription.   After 3 days,  the unpaid caller  drops  down  to 
  2930. security  4,  which  is limited to 5 minutes per day.   The SYSOP sets  the 
  2931. security of 1 year subscribers to 6 and 2 year subscribers to 7.  After the 
  2932. SYSOP  configures the system and sets the security level  for  subscribers, 
  2933. RBBS-PC  does all the work of properly managing the callers with no further 
  2934. effort on the part of the SYSOP.
  2935.  
  2936. 12.0 USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  2937. ----------------------------------------------------
  2938. The  RBBS-PC.DEF  file is created  by the CONFIG program and  contains  the 
  2939. program's   default  operating  parameters  and values.   When you run  the 
  2940. CONFIG  program   to  create RBBS-PC.DEF or to update it,   you can  change 
  2941. many  of  these  parameters  to meet your needs.   Certain parameters which 
  2942. control   critical   operations  of the programs are embedded in  the  RBBS 
  2943. program and should not  normally be changed by the system  operator.   When 
  2944. setting RBBS-PC is set up for the first time, SYSOP's are urged to take the 
  2945. default  values  generated by CONFIG except for those parameters  that  are 
  2946. unique to their configuration (i.e. the communication port, etc.).
  2947.  
  2948. CONFIG.BAS, unlike Gaul, is divided into many parts or screens.  They are:
  2949.  
  2950.      Screen         Description
  2951.  
  2952.         1           Global RBBS-PC Parameters (Part 1 of 3)
  2953.         2           Global RBBS-PC Parameters (Part 2 of 3)
  2954.         3           Global RBBS-PC Parameters (Part 3 of 3)
  2955.         4           Parameters for RBBS-PC "static" files
  2956.         5           Parameters for RBBS-PC "dynamic" files
  2957.         6           Parameters for RBBS-PC "doors"
  2958.         7           Parameters for RBBS-PC Security
  2959.         8           Parameters for Multiple RBBS-PC's and "conferences"
  2960.         9           RBBS-PC Utilities
  2961.        10           Parameters for RBBS-PC's File Management System
  2962.        11           RBBS-PC Communications Parameters
  2963.        12           RBBS-PC Net Mail
  2964.        13           New users parameters
  2965.       14-18         Reserved for future use
  2966.  
  2967. The  user  may  scroll  forward  or backward  through  the  13  screens  of 
  2968. parameters  in  CONFIG.BAS using the PgUp and PgDn keys  on  the  keyboard.  
  2969. Additionally  users  may  go directly to a specific screen  by  pressing  a 
  2970. function key (F1 through F10) or SHIFT and a function key (shift/F1 through 
  2971.  
  2972.                        Page 46 of 149
  2973. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  2974.  
  2975. Shift  F8) corresponding to the page to be selected.  To terminate  CONFIG, 
  2976. users need only press the "End" key on the keyboard.
  2977.  
  2978. The compiled version of CONFIG.BAS can be invoked with the command:
  2979.  
  2980.          CONFIG.EXE  <config file>
  2981.  
  2982. The  <config  file>  is an optional name of the configuration  file  to  be 
  2983. created or edited.   This assumes that the compiled version of  CONFIG.BAS, 
  2984. CONFIG.EXE is on the default disk drive.  CONFIG.BAS will write the RBBS-PC 
  2985. definition file, RBBSxPC.DEF to the default drive.
  2986.  
  2987. 12.1 Global RBBS-PC Parameters (Part 1 of 3)
  2988. --------------------------------------------
  2989. Parameters   1-5   request the RBBS system operator's (SYSOP)  name,   dual  
  2990. passwords  if logging on remotely,  and an optional password if logging  on 
  2991. locally (i.e. via the Esc key on the PC running RBBS-PC).   
  2992.  
  2993. When   logging  onto  the system remotely,   the SYSOP can log   on   using  
  2994. Password  #1 as a first name and Password #2 for as last  name,  in   which  
  2995. case  the system will recognize them as the SYSOP and allow all  the  SYSOP 
  2996. functions to be performed,  even as a remote user.   The SYSOP name is used  
  2997. to   insure that users are not attempting to access RBBS-PC using the SYSOP 
  2998. name  hoping to get a higher access level.    Attempting to logon using the  
  2999. SYSOP   name  will  result  in "LOGON DENIED" and a posting of the  attempt  
  3000. in  the  CALLERS file.   If you want to eliminate anyone from logging on as 
  3001. the SYSOP, you  can simply reply with a "null" (i.e.  a carriage return) to 
  3002. Password #1 and  Password #2.
  3003.  
  3004. The ESC key is used to log on in local SYSOP mode.   Parameter 5  allows  a 
  3005. password  to be required if someone hits  Esc  on  the  keyboard of the  PC 
  3006. running  RBBS-PC before they are considered a local SYSOP.   If you   enter 
  3007. NONE, no password is required.
  3008.  
  3009. The  SYSOP's  default sign-on mode is set by parameter  6 as either  EXPERT  
  3010. or  NOVICE.   Unless you are very familiar with the RBBS-PC CPC14's command 
  3011. structure,  the  SYSOP's  sign-on mode should be NOVICE.
  3012.  
  3013. The SYSOP can be paged by callers.  Parameter 7 allows the SYSOP to set the 
  3014. "office   hours"  when a user can page the SYSOP.   The IBM  PC's  bell  is 
  3015. rather  insistent,  and these hours should be set to match when you will be  
  3016. within   ear-shot  of  the RBBS-PC.    The times are set  using  a  24-hour 
  3017. military clock  (i.e.  10:00 P.M.  is 2200 hours).   The SYSOP can override 
  3018. these  hours by activating the page bell via function key 4 on the keyboard 
  3019. of the PC running RBBS-PC.
  3020.  
  3021. Because  the  bell  on an attached printer is usually louder than  the  one 
  3022. built  into  the PC,  the SYSOP can elect to have the  printer's  bell  via 
  3023. parameter 8 whenever the SYSOP is "paged".
  3024.  
  3025. Parameter  9 allows a SYSOP to not accept calls if the caller is trying  to 
  3026. access  his system at 300 BAUD.   Some SYSOP's believe that 300 BAUD  users 
  3027. have  a  "pre-puberty" mentality and cause more  problems  (i.e.  infantile 
  3028. messages) for the SYSOP than their contributions justify.  While RBBS-PC is 
  3029. intended  to be as open a system as possible,  each SYSOP has the option of 
  3030. electing to lock out 300 BAUD access.  Another reason for denying access to 
  3031. 300  BAUD  users  is  when  RBBS-PC  is  running  in  a  multi-tasking  DOS 
  3032. environment  that  does not handle 300 BAUD  very  efficiently  (i.e.  like 
  3033. MultiLink).   Whatever  reasons a SYSOP has for denying access to 300  BAUD 
  3034. users, this option enables the SYSOP to select to do so using CONFIG rather 
  3035. than having to modify the RBBS-PC source code.   However,  even if 300 baud 
  3036.  
  3037.                        Page 47 of 149
  3038. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3039.  
  3040. access  is denied,  RBBS-PC can be configured to allow registered users  to 
  3041. logon at 300 baud even if new users can't. 
  3042.  
  3043. Parameter  10 allows each SYSOP to see the color  text files  (i.e.  menus, 
  3044. help  files,  etc.)  exactly as the remote user sees them.   Obviously  the 
  3045. system running RBBS-PC should have a color monitor.   More importantly each 
  3046. SYSOP  that elects to activate this option should satisfy  themselves  that 
  3047. the program ANSI.ASM written and copyrighted by David Terry and modified by 
  3048. Dave Staehlin will not harm your particular brand of color monitor or color 
  3049. graphics board.  
  3050.  
  3051. In  order to effectively use this option you must have the ANSI.SYS  driver 
  3052. loaded  on  your  machine.   This  can be  accomplished  by  including  the 
  3053. statement
  3054.  
  3055.                               DEVICE=ANSI.SYS
  3056.  
  3057. within  your  system's  CONFIG.SYS file.   This load's  the  standard  IBM-
  3058. supplied ANSI.SYS file into your system.  If you use an ANSI.SYS other than 
  3059. the one supplied by IBM, you may not see what your remote user sees.
  3060.  
  3061.     CAUTION! - Dave Staehlin indicates the changes he made to the .ASM 
  3062.                and .OBJ files reference some color page BIOS  - hence, 
  3063.                this  may  not  work with a monochrome  video  card  or 
  3064.                within certain configurations!   Similarly,  it may not 
  3065.                work  with  anything other than the standard IBM  Color 
  3066.                Graphics  card and an IBM Color Monitor.   Many  "plug-
  3067.                compatible" color cards (like Hercules) have been known 
  3068.                to  burn  out a monitor.   Any SYSOP  who  elects  this 
  3069.                option  takes  on the SOLE responsibility and  risk  of 
  3070.                determining  if the combination of the many  components 
  3071.                involved  in the particular system RBBS-PC is to be run 
  3072.                in (the ANSI.SYS,  ANSI.OBJ/.ASM code,  the color  card 
  3073.                being used, the color monitor, the BIOS, and the memory 
  3074.                configuration)  would  cause damage to these or any  of 
  3075.                the  other components within the system.   To be  safe, 
  3076.                don't  activate this option.   If you do activate  this 
  3077.                option  and  your system is  damaged,  you  should  not 
  3078.                expect  to be reimbursed for such damage.   This option 
  3079.                is provided only as a convenience to those SYSOP's  who 
  3080.                have  assumed the sole responsibilities for any results 
  3081.                that  occur activating  this  option.   Remember,  this 
  3082.                option  need  not be activated in order to run  RBBS-PC 
  3083.                normally!   
  3084.  
  3085. Parameter  11  gives  the  SYSOP the option of  electing  to  have  RBBS-PC 
  3086. automatically take itself off-line if a "disk full" condition  occurs.   In 
  3087. previous versions,  this was not an option.  Now, if the SYSOP has a floppy 
  3088. disk for uploads that gets full and everything else is on a hard disk,  the 
  3089. SYSOP  can keep RBBS-PC from taking itself off-line should the floppy  disk 
  3090. get full.
  3091.  
  3092. Parameter  #  12 is the SYSOP'S preference for prompt sounds when input  is  
  3093. required.   When this is on,  both the remote user and the local SYSOP will 
  3094. hear the prompt bell when input is required from the remote user.
  3095.  
  3096. Parameter  # 13 of the CONFIG program asks for the maximum amount  of  time  
  3097. each  user is to be allowed on the system per session.   Set the number  of  
  3098. minutes  to  whatever you are comfortable with,  but 72 minutes is  a  good  
  3099. setting  for starting up.   Subsequently you may have to lower this  number  
  3100. once  your number of callers increases,  in order to keep callers'  waiting  
  3101.  
  3102.                        Page 48 of 149
  3103. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3104.  
  3105. times reasonable.  This can also be made the maximum time on the system per  
  3106. day.   As described elsewhere, each security level can have its own maximum 
  3107. time  on  the  system per session specified.
  3108.  
  3109. A  SYSOP  may limit the maximum amount of time any single user can spend on 
  3110. your  system  each day via parameter 14 of CONFIG. This is helpful  if  you  
  3111. have  a  relatively  busy  RBBS and want to have as  diversified  group  of  
  3112. callers as possible.   What this parameter does is to tell RBBS-PC to  keep  
  3113. track of the total amount of elapsed time a user is on RBBS each day.  Each  
  3114. time a caller logs on,  the maximum amount of time that they are allowed on 
  3115. the  system   is checked against this daily  cumulative  total.   The  time 
  3116. remaining  in  each  caller's session is the difference.    When  a  caller 
  3117. exceeds  this maximum and tries  to log on again,  they are told that  they 
  3118. have exceeded the allocated time for that  day and to try again tomorrow.
  3119.  
  3120. Parameter # 15 sets the number of months inactivity that must elapse before  
  3121. a   user is deleted from the USERS file when the SYSOP "rebuilds" the  user 
  3122. file.
  3123.  
  3124. Parameter  # 16 allows the SYSOP to specify the name of the RBBS-PC that is 
  3125. to  be  displayed when a user first connects with the system and  prior  to 
  3126. completing the logon process.
  3127.  
  3128. Parameters   17  through 19 allow the SYSOP to specify the  colors  desired  
  3129. for the foreground,  background, and border.  When specifying these options  
  3130. the BASIC manual's section describing the COLOR command in text mode should  
  3131. be   consulted.    This  is useful when running multiple RBBS-PC's and  you 
  3132. want  a handy way of determine which RBBS-PC it is that you are viewing  on 
  3133. the screen.    This  option  is NOT available if the SYSOP has specified  a 
  3134. "ring-back" system.  
  3135.  
  3136. Parameter 20 is not implemented in CPC15-1B.
  3137.  
  3138. 12.2 Global RBBS-PC Parameters (Part 2 of 3)
  3139. --------------------------------------------
  3140. Parameter  21  allows the SYSOP to remind users not only of  the   messages  
  3141. that  might  be for them but also messages that they may have left.    This 
  3142. should  be enough of a nuisance to insure that users do delete some of  the  
  3143. messages they have left and help to keep the MESSAGES file to a minimum.
  3144.  
  3145. Parameter  22 allows the SYSOP to elect to remind users of how  many  files 
  3146. they have downloaded and uploaded.
  3147.  
  3148. Parameter  23 allows a SYSOP to remind users every time they log on of  the 
  3149. preferences  they have selected for such things as file transfer  protocol, 
  3150. graphics, nulls, etc.
  3151.  
  3152. Parameter  24 allows the SYSOP to establish a default page length for users  
  3153. when  they log on.    A 23 line page length is the default,   but the SYSOP 
  3154. can   set  it  to any number between 0 and 255.    If set to 0,   the  user  
  3155. will  receive continuously scrolling output.
  3156.  
  3157. Parameter 25 allows the SYSOP to specify (within the range of 1 to 30)  the 
  3158. maximum number of lines allowed in each message.
  3159.  
  3160. Parameter  26 allows the SYSOP to tell RBBS-PC that files ending in  binary 
  3161. file  extensions (i.e.  .ARC,  .EXE,   .COM,   .OBJ,  .WKS,  .BAS, or whose 
  3162. second  letter  of  the  extension is Q) can not be downloaded  unless  the 
  3163. user  selects   XMODEM or MNP.   This should eliminate some  user  problems 
  3164. before  they occur.    IBM's  BASIC  interpreter's  SAVE command default is 
  3165. to   write   files  in  a  special  binary  format  (also  referred  to  as 
  3166.  
  3167.                        Page 49 of 149
  3168. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3169.  
  3170. 'tokenized') because they require much less disk space.
  3171.  
  3172. Parameter  27 allows a SYSOP to "reward" users who upload files  by  adding 
  3173. some  multiple  of  the  elapsed time it took for the file  upload  to  the 
  3174. current  session time.   This should be used judiciously as some users  may 
  3175. abuse  this by repeatedly uploading COMMAND.COM or some  other  meaningless 
  3176. file.  This extends only the users current session and NOT the elapsed time 
  3177. the user may be limited to per day via parameter 15.
  3178.  
  3179. Parameter  28  lets the SYSOP force a questionnaire to be answered  by  all 
  3180. callers,  old and new,  exactly once.   RBBS-PC records in the users record 
  3181. when  the  required questionnaire is answered so that it will not  ask  the 
  3182. caller again.   Parameter 166 lets the SYSOP reset the flag back to off for 
  3183. all  users.   This  should be done when the SYSOP wants to  install  a  new 
  3184. required questionnaire to be used to survey all callers.   In questionnaire 
  3185. is required, this parameter can be specified as NONE.
  3186.  
  3187. Parameter   29  allows  the  SYSOP  to  make  the  system  "welcome"   file 
  3188. interruptable.   The default is that YES it is interruptable.   However, if  
  3189. the SYSOP feels too many people are bypassing it and it contains  essential  
  3190. information,  the SYSOP can set this parameter to NO (i.e. the user can not  
  3191. suspend  or cancel the listing of this file at their terminal with a CTRL S 
  3192. or  CTRL K).
  3193.  
  3194. Parameter   30  is  intended to allow the SYSOP to indicate if  the  system  
  3195. bulletins are to be optional for users when they log on.   If bulletins are 
  3196. optional,  callers  can elect to automatically bypass old bulletins and  be 
  3197. notified  only when there are new bulletins.   RBBS-PC will check the  file 
  3198. date of the bulletins and inform the caller which are new,  with the option 
  3199. to  read  all of the new bulletins.   If none are new  when  bulletins  are 
  3200. optional, the bulletins will be automatically bypassed.
  3201.  
  3202. Parameter  31 is designed to allow RBBS-PC to run on some  "IBM-compatible" 
  3203. PC's  that  make  use of  unused interrupts or on the  IBM  PCjr.   RBBS-PC 
  3204. checks to see if the unused interrupt X'7F' is non-zero.  If it is, RBBS-PC 
  3205. thinks that the software product,  MultiLink (from The Software Link, Inc.) 
  3206. is present and issues the appropriate MultiLink calls.   Obviously if  this 
  3207. is  not the case,  strange and unpredictable things happen which result  in 
  3208. RBBS-PC not working.  The COMPAQ+ is an example of this syndrome.
  3209.  
  3210. If  running RBBS-PC on an IBM PCjr using an external modem but  without  an 
  3211. internal modem,  the communications port must be opened as COM1 even though 
  3212. RBBS-PC   must   use  the  COM2  RS-232  registers  for   controlling   the 
  3213. communications port.
  3214.  
  3215. Parameters  32-36 let the SYSOP change what symbols are used for each RBBS-
  3216. PC  function  by  substituting  a  new  letter.     Additionally,  a  space 
  3217. substituted for a command will disable that command,  in effect removing it 
  3218. from the system.   A natural command to be disable is the V)iew  conference 
  3219. command,  since  it is not implemented.   SYSOPs with no DOORS may wish  to 
  3220. disable D rather than to confuse users by displaying options not available.  
  3221. All  commands displayed to callers in the command prompt will be in  sorted 
  3222. order.
  3223.  
  3224. Parameter 37 allows the section name to precede the command prompt that  is 
  3225. displayed  when a caller is asked to enter a command.   The command  prompt 
  3226. begins with <section>, where <section> is MAIN, FILE, or UTIL, if option 37 
  3227. is  selected.   Otherwise,  the prompt will begin with YOUR.   Normally the 
  3228. section  in  the  prompt helps the caller remember where  he  is,  but  see 
  3229. Chapter 8 for reasons to suppress the section.
  3230.  
  3231.  
  3232.                        Page 50 of 149
  3233. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3234.  
  3235. Parameter  38  allows the SYSOP to not display the commands to  the  caller 
  3236. when waiting for the user to enter a command.  The default in RBBS-PC is to 
  3237. remind  the  caller what commands are available by giving a sorted list  of 
  3238. the letters used for each command at the end of the command prompt.   RBBS-
  3239. PC shows only the commands available in the section that the caller is  in.  
  3240. If  the  SYSOP chooses not to display the section a user is in,  there  are 
  3241. more commands available than will be shown in the prompt.
  3242.  
  3243. Parameter  39 allows the SYSOP to elect to use machine language subroutines 
  3244. (rather  than  the  BASIC routines) for a few of  the  more  commonly  used 
  3245. subroutines.  These may only be functional within a DOS that is supplied by 
  3246. IBM (rather than Microsoft).  Therefore this is optional.  If you encounter 
  3247. problems,  simply  elect to utilize the BASIC routines which are much  more 
  3248. likely  to be compatible in none "baseline" configurations.   In most cases 
  3249. the  assembler  routines  are much faster than  their  BASIC  counterparts, 
  3250. especially in file searches.
  3251.  
  3252. RBBS-PC  supports  a "wrap-around" search for valid commands.   This  means 
  3253. that when a command is not found in the current section, other sections are 
  3254. then searched.  The order of search is MAIN->FILE->UTIL.  For example, if L 
  3255. is  picked when in the main section, where there is no command,  the  L)ist 
  3256. command  in  the file section will be executed.  Option 40 lets  the  SYSOP 
  3257. turn  this wrap-around search and not execute commands in  other  sections.  
  3258. Wrap-around  is required if the SYSOP want's to have a single command  line 
  3259. (i.e. not have the "Utility" and "File" subsystems).
  3260.  
  3261. 12.3 Global RBBS-PC Parameters (Part 3 of 3)
  3262. --------------------------------------------
  3263. Parameters  41  and  42  determine how callers are  going  to  be  uniquely 
  3264. identified  when  they log on.   The default in RBBS-PC is  to  concatenate 
  3265. first and last name to form name.   Parameter 41 lets SYSOPs choose another 
  3266. field as user ID.  A field is specified by giving its starting position and 
  3267. length in the user file,  and a prompt must be supplied which will be  used 
  3268. when  asking  for  user  ID.   BE VERY  CAREFUL  CHANGING  THIS  PARAMETER.  
  3269. Parameter  allows the SYSOP to specify a name to be used when prompting the 
  3270. user for the field (i.e. ACCOUNT #).  See chapter 8 for additional details.  
  3271. RBBS-PC assumes that name is being used whenever the ID begins in column 1.
  3272.  
  3273. Parameter  42  lets a field be specified that will be used  to  distinguish 
  3274. callers with the same ID.   Like with ID, the beginning column, length, and 
  3275. prompt must be specified.   RBBS-PC defaults to no individuation,  which is 
  3276. specified  by  setting the beginning column to 0.   Activating this  option 
  3277. forces uses to give additional information when they log on,  since both ID 
  3278. and individuation value have to be given.  See chapter 9 for details on how 
  3279. to use this option.
  3280.  
  3281. Parameters  43 through 46 address access control via the automatic  RBBS-PC 
  3282. subscription management facilities.  For a detailed discussion of RBBS-PC's 
  3283. automatic subscription management facilities,  see chapter 10. Parameter 43 
  3284. means  that  access will be controlled by subscription dates,  and  persons 
  3285. with  expired subscriptions will get reduced privileges.   Parameter 44  is 
  3286. the security level callers get after their subscription expires.  Typically 
  3287. this  security  significantly  reduces  what a caller  is  allowed  to  do.  
  3288. Parameter 45 specifies when callers are to be warned in advance that  their 
  3289. subscription  is about to expire.   This warning is based on the number  of 
  3290. days  before a subscription expires.   Parameter 46 specifies the number of 
  3291. days a new user gets in the subscription period.
  3292.  
  3293. Parameter  47  determines  whether  RBBS-PC will ever try  to  write  to  a 
  3294. printer.   The  default  is  to try to write to a printer,  then  turn  the 
  3295. printing off it there is any problem.  On some networks the attempted write 
  3296.  
  3297.                        Page 51 of 149
  3298. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3299.  
  3300. can generate a spooler error that hangs the node.   Setting this  parameter 
  3301. to "YES" guarantees that nothing ever gets written to a printer.
  3302.  
  3303. Parameter 48 causes RBBS-PC to play musical themes for auditory feedback on 
  3304. what  is happening on a board.  This can be important for SYSOPs  that  are 
  3305. sight impaired.  These musical themes are "played" on the speaker of the PC 
  3306. that is running RBBS-PC.  The themes are not transmitted to the caller.
  3307.  
  3308. Parameter 49 is the buffer used internally by RBBS-PC when displaying  text 
  3309. files such as menus,  directories of files, etc.  A SYSOP can set parameter 
  3310. 218  to either minimize memory usage or optimize speed.  It is the size  of 
  3311. the  internal buffer that RBBS uses to real in most text  files,  including 
  3312. menus.  The bigger the buffer, the fewer disk accesses necessary to display 
  3313. the  file  and the faster the display will be.  The default of 128  is  the 
  3314. minimum  recommended.   Increasing this to 512 will increase the  speed  of 
  3315. text displays.   
  3316.  
  3317. Parameters 50 through 52 are not implemented in CPC15-1B.
  3318.  
  3319. 12.4 Parameters for RBBS-PC "text" Files
  3320. ----------------------------------------
  3321. Parameter  61  specifies the name of text file that is shown to a  user  if 
  3322. bulletins  are not optional (see parameter 30) or if the user  replies  "L" 
  3323. when notified of how many bulletins exist.  This file should contain a list 
  3324. of  the  bulletins  (i.e.  1-99) and a brief one-line  description  of  the 
  3325. contents of each (e.g. "New Release of RBBS-PC").
  3326.  
  3327. Parameter 62 allows a SYSOP to have from 0 to 99 "bulletins."  If there are 
  3328. 0  bulletins  a user is notified that there are  no  bulletins.   Bulletins 
  3329. should be brief,  informative,  and timely.   I personally think that there 
  3330. should be very few bulletins and that they should be changed often if users 
  3331. are  to be enticed to look at them.   Making bulletins optional  (parameter 
  3332. 30)  and bringing them to the attention of the caller on when there are new 
  3333. ones encourages callers to read the bulletins.
  3334.  
  3335. Parameter 63 provides the SYSOP with the flexibility to make the prefix  of 
  3336. the bulletins anything he wants (i.e. BULLET).  To this is added the number 
  3337. (i.e.  BULLET7  for  bulletin  number 7) and the disk drive  designated  in 
  3338. parameter  41 is searched for the bulletin number requested when some  asks 
  3339. to see a bulletin.  If the file is not found, the user is so informed. If a 
  3340. "graphics"  equivalent  is  found  and the user has  signed  on  N/8/1  and 
  3341. requested graphics, the graphics version of the bulletin is displayed (i.e. 
  3342. BULLET7G).
  3343.  
  3344. Parameter  64  indicates  the disk drive and path on which  RBBS-PC  is  to 
  3345. search for to find RBBS-PC's on-line "help" files whenever a user asks  for 
  3346. help  within a specific subsystem.   This is where the help files should be 
  3347. stored.
  3348.  
  3349. There  are some specific help files used by RBBS-PC whose name is simply  a 
  3350. help  prefix  plus  a  number.   The SYSOP may elect  to  call  the  prefix 
  3351. something other than the default of "HELP0".  Parameter 65 allows the SYSOP 
  3352. to  pick  up  to  a seven-character prefix to which  the  numbers  will  be 
  3353. appended.   This  file  name  is what RBBS-PC will look for  on  the  drive 
  3354. specified  in  parameter 64 when a user asks for  help  on-line.   As  with 
  3355. "bulletins", if a "graphics" equivalent is found and the user has signed on 
  3356. N/8/1  and  requested graphics,  the graphics version of the help  file  is 
  3357. displayed (i.e. HELP07G).
  3358.  
  3359. RBBS-PC  identifies  help  for a particular command by the  letter  of  the 
  3360. section  and  the  letter of the command, plus an extension  for  the  help 
  3361.  
  3362.                        Page 52 of 149
  3363. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3364.  
  3365. files.  The extension "HLP" is the default but option 66 lets the SYSOP set 
  3366. this to whatever desired.
  3367.  
  3368. Parameter  67 is the name of the file that is displayed to a caller  should 
  3369. the  caller ask for help when requested to categorize a file that has  been 
  3370. upload.   RBBS-PC' File Management System can be configured to minimize the 
  3371. SYSOP's  activities  by  allowing users to categorize the  files  that  are 
  3372. uploaded.   This  file  should  list the names of the  categories  that  an 
  3373. uploader can select.  It should be stored on the same drive and path as the 
  3374. other help files. The category selected will be validated to make sure that 
  3375. it  is in the list in DIR.CAT or that a valid category file with that  name 
  3376. exists.   The  appropriate category code will be written out to the  shared 
  3377. FMS directory, or the entry for the upload will be appended to the category 
  3378. file.
  3379.  
  3380. Parameter 68 allows the SYSOP to select any name for the text file that new 
  3381. users  see when they first log on and before they "register" themselves  in 
  3382. RBBS-PC's  USERS file.   A user sees it once and only once during his first 
  3383. session.   It can contain anything you want it to,  but a brief explanation 
  3384. of your Board's purpose,  "rules", etc. might be appropriate.
  3385.  
  3386. Parameter  69  allows the SYSOP to select any name for the text  file  that 
  3387. each user sees EVERY time AFTER they log on.   Keep it brief!  RBBS-PC will 
  3388. look for a "graphics" equivalent if the user qualifies for graphic displays 
  3389. (i.e.  it  will display the file HELLOG in lieu of  HELLO).
  3390.  
  3391. The  file  named "PRELOG" will be displayed as soon as carrier is  detected 
  3392. and BEFORE a user can log on.   It is displayed immediately after the  name 
  3393. of the RBBS-PC is shown (see option 16) and  providing it:
  3394.  
  3395.     1. has the name PRELOG and,
  3396.  
  3397.     2. is on the same disk drive as the WELCOME file.
  3398.  
  3399. SYSOP's  should  use "PRELOG" to convey such information  as  whether  real 
  3400. names  are  required, 300 baud users will automatically be  denied  access, 
  3401. etc.
  3402.  
  3403. Parameters  70 through 75 focus on the text files that RBBS-PC displays  to 
  3404. novices  as  "menus."   Menu files shown to novices tend to  be  frequently 
  3405. accessed.   Systems  that do not have disk caching should consider  putting 
  3406. menus in a RAM disk in order to cut down on the wear and tear of your  disk 
  3407. drives.
  3408.  
  3409. Parameter 70 allows any valid name to be given to the text file  containing 
  3410. the  commands  allowed those with SYSOP privileges.   
  3411.  
  3412. Parameter  71  allows  the  SYSOP to specify the  name  of  the  text  file 
  3413. containing  the menu of commands available to those in the main  "messages" 
  3414. subsystem.
  3415.  
  3416. Parameter  72  allows  the name of the text file  containing  the  menu  of 
  3417. commands available to those in the "files" subsystem to be any valid name.  
  3418.  
  3419. Parameter  73  allows  the name of the text file  containing  the  menu  of 
  3420. commands  available to those in the "utilities" subsystem to be  any  valid 
  3421. name.
  3422.  
  3423. Parameter  74  is  the  name  of the text file listing  the  names  of  the 
  3424. conferences that are available.   Conference names must be seven-characters 
  3425. or less, in all caps, and cannot have any character to the left or right of 
  3426.  
  3427.                        Page 53 of 149
  3428. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3429.  
  3430. the  name  except  possibly a space.   The SYSOP  must  already  have  pre-
  3431. formatted the messages and users files associated with the conferences (see 
  3432. chapter 19.0).
  3433.  
  3434. Parameter  75  allows  the  user  to specify the  name  of  the  text  file 
  3435. containing the list of the questionnaires,  surveys, or forms which callers 
  3436. can  fill out or answer.   The scripting support built into RBBS-PC  allows 
  3437. the  SYSOP to construct a series of questions to be presented to the caller 
  3438. and  save  the answers.   Questionnaire names must be eight  characters  or 
  3439. less,  in all caps,  and cannot have any character to the left or right  of 
  3440. the name except possibly a space.  Of course, the actual file name for  the 
  3441. script  has  an extension of ".DEF".  Thus, a questionnaire  called  SURVEY 
  3442. would  appear  in  the  text file identified in  Parameter  75  as  SURVEY, 
  3443. preceded and followed by at least one blank character, and exist as a  file 
  3444. named SURVEY.DEF.
  3445.  
  3446. Parameter  76  is  the name of the text file listing names that  the  SYSOP 
  3447. considers inappropriate.   This file is used when a new user signs on.  The 
  3448. new  users first and last name are each individually  checked  against  the 
  3449. names in this file.
  3450.  
  3451.     The format of this file is as follows:
  3452.  
  3453.     <name>,
  3454.  
  3455.     An example of such a file would be:
  3456.  
  3457.     KILLER,
  3458.     MAN,
  3459.     THE,
  3460.     DOC,
  3461.     DOCTOR,
  3462.     DEATH,
  3463.  
  3464. All names should be UPPER CASE! If you create the file using IBM's standard 
  3465. DOS text editor,  EDLIN,  each line should end with a comma.  If you create 
  3466. the file using COPY CON,  each line should end with a carriage return (i.e. 
  3467. the "enter" key).  The last line (when using    COPY CON) should end with a 
  3468. Control Z, F6, and then carriage return. BASIC will treat either a comma or 
  3469. a  carriage  return  as a field delimiter.   You  need  a  field  delimiter 
  3470. following each of the names.   If the above file existed,  any new user who 
  3471. logged and used the following names would be denied access:
  3472.  
  3473.     Byte Killer
  3474.     Kilo Man
  3475.     Doctor Death
  3476.     PC Doctor
  3477.     The Best
  3478.  
  3479. 12.5 Parameters for RBBS-PC "system" Files
  3480. ------------------------------------------
  3481. Parameter 81 allows the SYSOP to specify the file name for the file used by 
  3482. RBBS-PC to hold the messages on the bulletin board.  This file can NOT have 
  3483. an  extension because RBBS-PC appends the extension ".BAK" to the file name 
  3484. when "packing" the messages file.
  3485.  
  3486. RBBS-PC  keeps  a profile of each user who logs on in a "user record"  (see 
  3487. Appendix A for a layout of this record).   Parameter 82 allows the SYSOP to 
  3488. specify the file name for this file.   This file can NOT have an  extension 
  3489. because  RBBS-PC  appends  the  extension  ".BAK" to  the  file  name  when 
  3490. "packing" the users file.
  3491.  
  3492.                        Page 54 of 149
  3493. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3494.  
  3495. Instead  of leaving a "message",  a user may leave a comment for the  SYSOP 
  3496. that  is  readable only by the SYSOP.   Parameter 83 allows  the  SYSOP  to 
  3497. specify  the  fully  qualified name for the file used by RBBS-PC  to  store 
  3498. users' comments.
  3499.  
  3500. Parameter 84 allows the SYSOP to have comments recorded as private messages 
  3501. to him in the main messages file providing there is any room.   This allows 
  3502. replies to comments to be done much more easily. 
  3503.  
  3504. RBBS-PC maintains a log of user activity on a "callers" file.   It contains 
  3505. information on the date,  time, communications parameters of who logged on; 
  3506. what  they uploaded or downloaded;  and any security violations  or  errors 
  3507. that  were generated.   Parameter 85 allows the SYSOP to specify the  fully 
  3508. qualified name for the file that RBBS-PC uses for this log.
  3509.  
  3510. If parameter 86 is selected,  additional items of  information are included 
  3511. in the CALLERS file:
  3512.  
  3513.      1) "Connect not completed"              9) "Left comment at time"
  3514.      2) "Sleep disconnect"                  10) "Logged off at time"
  3515.      3) "Caller changed name/address"       11) "Carrier dropped at time"
  3516.      4) "Newuser"                           12) "Message # xxxx left at"
  3517.      5) "Bulletin# read"                    13) "Read Messages ..."
  3518.      6) "SYSOP initiated Chat"              14) "Answered questionnaire xxx"
  3519.      7) "Entered Conference name"
  3520.      8) "Time limit exceeded"
  3521.  
  3522. It should be remembered that for each occurrence of the above,  the CALLERS 
  3523. file will increase by 64 bytes.   Unless you either have a hard disk or are 
  3524. willing  to  frequently maintain your system in order to leave enough  free 
  3525. space  on  the  disk  drives for new  files,  this  option  should  NOT  be 
  3526. activated. 
  3527.  
  3528. Parameter 87 has not been implemented in CPC15-1B.
  3529.  
  3530. 12.6 Parameters for RBBS-PC "Doors"
  3531. -----------------------------------
  3532. Parameter  101 allows the SYSOP to enable RBBS-PC to exit and return to the 
  3533. system (i.e.  DOS).   You will also be asked if you will be running "doors" 
  3534. with  MultiLink.   If  you  reply yes,  you can they choose  what  type  of 
  3535. terminal  MultiLink is to assume the user is using when MultiLink  receives 
  3536. control  from RBBS-PC.   See the MultiLink manual for the various  terminal 
  3537. types.   If  you  choose terminal type zero,  MultiLink will not  be  given 
  3538. control  of the communications port when RBBS-PC exits to the "door."   Use 
  3539. this if your application is coded to control the communications port.   The 
  3540. batch  file  out of which RBBS-PC is invoke should then check to see  if  a 
  3541. "door"  is to be invoked.   A "door" is simply a batch file that the  SYSOP 
  3542. has created which RBBS-PC users are allowed to exit to and which will  then 
  3543. take control of the remote users communication port.
  3544.  
  3545. Parameter  102 allows the SYSOP to specify the fully qualified file name of 
  3546. the menu that lists the names of the "doors" available to  users.   RBBS-PC 
  3547. checks  this  file  to  verify  that the name of the  door  that  the  user 
  3548. requested is in the doors menu (see chapter 16).   A door name in the  menu 
  3549. must  have 8 or fewer characters,  be in all caps,  and the only  character 
  3550. that can occur immediately before and after the name is a space.
  3551.  
  3552. Parameter  103 allows the SYSOP to specify the fully qualified file name of 
  3553. the  file  that RBBS-PC is to use when dynamically building the  .BAT  file 
  3554. that invokes the "door" selected by the user.   The batch file that invokes 
  3555. RBBS-PC  must contain an "IF" to check if this file exist whenever  RBBS-PC 
  3556.  
  3557.                        Page 55 of 149
  3558. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3559.  
  3560. terminates and (if it exists) to execute it (see chapter 15).  This is also 
  3561. the same file name that is used when the SYSOP exits to DOS.
  3562.  
  3563. When a door finishes RBBS-PC is re-invoked.  Parameter 104 allows the SYSOP 
  3564. to  specify the fully qualified file name of the .BAT file that  should  be 
  3565. used  to re-invoke RBBS-PC (see chapters 15 & 16).   This is also the  same 
  3566. file name that is used when the SYSOP returns from exiting to DOS.
  3567.  
  3568. Whenever  you  exit to a "door" or to DOS (via the remote SYSOP's  function 
  3569. 7),  RBBS-PC  needs  to  know where to  find  COMMAND.COM.   In  a  network 
  3570. environment  with several PC's the COMMAND.COM's may be different for  each 
  3571. PC.  Parameter 105 allows the SYSOP to specify for the each copy of RBBS-PC 
  3572. a  disk drive on which to find the COMMAND.COM appropriate for that copy of 
  3573. RBBS-PC.
  3574.  
  3575. Parameter  106 allows the SYSOP to elect to redirect I/O to  communications 
  3576. port  when executing a program external to RBBS-PC either via the  standard 
  3577. DOS "Change Console Command" (CTTY) or the special characters < (for input) 
  3578. and > (for output).
  3579.  
  3580. Parameter  107  allows  the SYSOP to select how RBBS-PC is to  invoke  those 
  3581. external  programs  such  as  communications  protocol  drivers  for   file 
  3582. transfers (i.e.  Kermit) to fulfill its own functions.   There are two ways 
  3583. to execute these other programs:
  3584.  
  3585.    1.  EXITing RBBS-PC and invoking the other program via a .BAT file that
  3586.        RBBS-PC builds dynamically, or
  3587.  
  3588.    2.  SHELLing to the other program while RBBS-PC remains in memory.
  3589.  
  3590. EXITing  RBBS-PC allows other BASIC programs to be run as external programs 
  3591. to RBBS-PC,  conserves memory,  and allows all of RBBS-PC's features to  be 
  3592. active in computers with only 256K of memory.   The "price" that is paid is 
  3593. that  upon returning from the externally called program RBBS-PC's .EXE file 
  3594. must be reloaded into memory.
  3595.  
  3596. SHELLing  prohibits other BASIC programs to be run as external programs  to 
  3597. RBBS-PC,  consumes memory because RBBS-PC remains in memory when the  other 
  3598. program is running, and requires 292K of memory (under DOS 3.2) to activate 
  3599. all  of RBBS-PC's features.  However, SHELLing does eliminate the  need  to 
  3600. reload  the RBBS-PC.EXE file each time.  Option 107 lets the SYSOP  specify 
  3601. how  other programs will be invoked.  See option 213 as well regarding  the 
  3602. external protocol drivers.
  3603.  
  3604. 12.7 Parameters for RBBS-PC's Security
  3605. --------------------------------------
  3606. Parameter   121 specifies the minimum security level users need in order to  
  3607. log  onto  RBBS-PC and parameter 122 specifies the security level  assigned 
  3608. to new users.    If  the security level assigned new users is less than the 
  3609. minimum security level to log on, no new  users  can  logon on.  This means 
  3610. that  no new users are allowed and access is limited only to pre-registered 
  3611. users.  Since one of RBBS-PC's two objectives is to facilitate the exchange 
  3612. of information, every RBBS-PC SYSOP is urged to not entirely deny new users 
  3613. access.    The  chapters  on  RBBS-PC's  extensive  security  features  and 
  3614. subscription management detail the ways in which a SYSOP can control access 
  3615. to his RBBS-PC without having to deny access to new users.
  3616.  
  3617. Parameter 123 allows you the minimum security level a user must have to  be 
  3618. considered an "assistant" SYSOP by RBBS-PC to be specified.  Even if a user 
  3619. has  a high enough security level to see the SYSOP's menu and execute  some 
  3620. or all of the SYSOP commands, the user will not be treated as a SYSOP (i.e. 
  3621.  
  3622.                        Page 56 of 149
  3623. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3624.  
  3625. allowed  to  see the files upload/download when viewing the  CALLERS  file) 
  3626. unless  the users security level is equal to or greater than that specified 
  3627. by this parameter.
  3628.  
  3629. Parameter  124 specifies the name of the file that contains a list of  file 
  3630. names  that  CANNOT  BE  DOWNLOADED (even if they are  on  the  disks  that  
  3631. are   available for downloading) unless the user supplies a password and/or 
  3632. is at  a  specific  security level.   If you want to have no file  security 
  3633. at  all,   just put no file names in this file.   If you include a password 
  3634. with  a file  name  all users (including one with SYSOP privileges) must be 
  3635. able  to   give  the password in order to download the file.   For  a  more 
  3636. detailed  description  of  this file and how  it  works,  see  the  section 
  3637. entitled "How to Implement the Security for Download Files."
  3638.  
  3639. Parameter  125  prevents the SYSOP menu from being displayed (even if   the  
  3640. user   has  a security level of a SYSOP as specified in option 123)  unless 
  3641. the user  is also at this security level. 
  3642.  
  3643. Parameter  126  allows the SYSOP to set the minimum security level  a  user 
  3644. must have to exit RBBS-PC via a "door".   This security level must be equal 
  3645. to or higher than the security level for the "D>oor" command (see Parameter 
  3646. 129).
  3647.  
  3648. Parameter  127  allows  a  maximum  number  of  security  violations  (i.e.  
  3649. attempts  to  download protected files) before the user is logged  off  and 
  3650. locked out.
  3651.  
  3652. Parameters  128  through  132  allow the SYSOP to set   up   the   security  
  3653. levels   required  to issue the commands in the  SYSOP,   Main  Menu,  File 
  3654. Subsystem,  Utilities Subsystem (respectively),  and global commands.   All 
  3655. the  commands  in  each area can  be  given  the same  security  level  or,  
  3656. optionally,  a specific command can  be  given a unique security level.
  3657.  
  3658. Parameter  133  specifies   the file name which contains   the   privileged  
  3659. group   passwords  that allow users to change temporarily  their  security,  
  3660. time   on   the  system,   etc.  -- if the SYSOP has set it  up  that  way.  
  3661. Callers  shift  to   a   group  password by  changing  passwords.   If  the 
  3662. password  they  select  is  found in the  file  containing  the  privileged 
  3663. passwords,  their private logon password is unchanged and they receive  the 
  3664. security level and/or time limit associated with the group password. If you 
  3665. have  no  group passwords,  just put nothing in  this file.    For  a  more 
  3666. detailed  description  of  this  file and how it  works,  see  the  section 
  3667. entitled "How to Implement the Password File."
  3668.  
  3669. Parameter  134  allows  the SYSOP to specify the maximum  number  of  times  
  3670. users   can  change their passwords in a given session.   This  prevents  a 
  3671. caller from "fishing" for special passwords.
  3672.  
  3673. Parameter 135 is the minimum security level required in order for users  to  
  3674. change  temporarily  their security or  time on the system  via  privileged 
  3675. group  passwords.   If  users  do not have the minimum  security  level  to 
  3676. temporarily change their password, ALL password changes that they make will 
  3677. be  permanent  -- even  if  the password they select is  in  the  temporary 
  3678. password file named in parameter 112 of CONFIG!
  3679.  
  3680. Parameter  136 allows  the  SYSOP to specify a security  level   that   has  
  3681. the  privilege  of  overwriting  files (i.e.   files  that  already  exist)  
  3682. when  uploading.
  3683.  
  3684. When  the SYSOP "purges" the USERS file,  all users who have not signed  on 
  3685. within  the number of months specified in parameter 16 are deleted from the 
  3686.  
  3687.                        Page 57 of 149
  3688. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3689.  
  3690. file with the exception of those who have been "locked out" and those whose 
  3691. security level is equal to or greater than that specified in parameter 137.  
  3692.  
  3693. Parameters 138 through 140 are not implemented in CPC15-1B.
  3694.  
  3695. 12.8 Parameters for Multiple RBBS-PC's
  3696. --------------------------------------
  3697. RBBS-PC  allows  multiple RBBS-PC's to run in the same  environment/network 
  3698. and  share many of the same files.   If you ever plan to do this or if  you 
  3699. are  going  to  do this,  set this number to the MAXIMUM  number  you  ever 
  3700. envision running.   Up to 36 RBBS-PC's can share the same files.  Different 
  3701. environments  have  different  maximum  number  of  nodes  that  they   can 
  3702. effectively  support.   Parameter  141  allows you to specify  the  maximum 
  3703. number of RBBS-PC's that the MESSAGES file should be initialized for.
  3704.  
  3705. Parameter  142 allows the SYSOP to designate the type of  environment  that 
  3706. multiple copies of RBBS-PC will be sharing files in.   This is necessary so 
  3707. that  RBBS  can  use  the mechanism that is  appropriate  to  the  specific 
  3708. environment when sharing files.  RBBS-PC currently can handle the following 
  3709. environments for multiple RBBS-PC's:
  3710.  
  3711.              1.  MultiLink (The Software Link, Inc.)
  3712.              2.  OmniNet (Corvus)
  3713.              3.  PC-Net (Orchid)
  3714.              4.  DESQview (Quarterdeck Office Systems)
  3715.              5.  10 Net (Fox Research)
  3716.  
  3717. NOTE:   Many  manufacturers  utilize Orchid's network conventions.   As  an 
  3718. example,  AST  and  Alloy are both vendor's whose "network" is  .EXE  file- 
  3719. compatible  with Orchid's (i.e.  "An Orchid by any other name is  still  an 
  3720. compatible their network is with those supported by RBBS-PC. 
  3721.  
  3722. Some local area network environments are not designed to have  applications 
  3723. constantly branch back to the beginning and re-open already open files.  If 
  3724. you are in this environment or simply want to run external programs after a 
  3725. user logs off or RBBS-PC recycles,  parameter 143 allows you to elect to do 
  3726. this.   If  you specify "internal",  RBBS-PC will function as it  currently 
  3727. does  and branch back to its beginning.   If you specify "system",  RBBS-PC 
  3728. will  exit to DOS and (if you are running RBBS-PC out of a .BAT  file)  you 
  3729. can  then  automatically invoke any other "housekeeping" programs you  want 
  3730. before  re-invoking  RBBS-PC.   It  should be noted that this  will  add  a 
  3731. considerably  delay  to RBBS-PC's recycling time as RBBS-PC  will  have  to 
  3732. reloaded back into memory every time it recycles.
  3733.  
  3734. Like  the MESSAGES file,  the USERS file must also be static in length  for 
  3735. RBBS-PC.  Parameter 144 allows the SYSOP to set the size of the USERS file.  
  3736. RBBS-PC  automatically keeps track of the records available for use in this 
  3737. file  and does the necessary "housekeeping."   To do this RBBS-PC  requires 
  3738. the USERS file size (i.e.  the number of records in it) to be a power of 2.   
  3739. When  the USERS file get full (i.e.  all its records are used up)  and  the 
  3740. SYSOP  neither "packs" it nor increases the size of the file,  no new users 
  3741. will be able to be added to the users until one of these two events occurs.  
  3742. Parameter 251 lets new users get on even if the users file is full.
  3743.  
  3744. RBBS-PC  requires  that  the  "Messages" file  be  static  in  length.   It 
  3745. automatically  keeps  track  of  the next record  available  and  does  the 
  3746. necessary housekeeping to maintain the integrity of the file. Parameter 145 
  3747. allows  the  SYSOP  to  set  the  size  of  this  file.    CONFIG.BAS  will 
  3748. automatically  determine what size the current file is and will reformat  a 
  3749. pre-CPC12-3A  MESSAGES  file if it finds one.   If you do not increase  the 
  3750. size of your existing MESSAGES file,  no one will be able to leave any  new 
  3751.  
  3752.                        Page 58 of 149
  3753. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3754.  
  3755. messages.  Similarly, when the MESSAGES file get full (i.e. all its records 
  3756. are used up) and the SYSOP neither "packs" it nor increases the size of the 
  3757. file,  no one will be able to leave a message until one of these two events 
  3758. occurs.
  3759.  
  3760. The  minimum  size  of the MESSAGES file is equal to  1  (The  "checkpoint" 
  3761. record)  plus  the maximum number of concurrent RBBS-PC's ("node"  records) 
  3762. plus the maximum number of messages allowed multiplied by 5 (each  messages 
  3763. is assumed to average five 128-byte records)
  3764.  
  3765. Therefore,  if option 141 of CONFIG where 12 and option 145 of CONFIG where 
  3766. 50,  the  minimum number of records that could be specified for option  125 
  3767. would be
  3768.  
  3769.        1 (The "checkpoint record)
  3770.     + 12 (The number of "node" records)
  3771.     +250 (50 messages x 5 128-byte records each)
  3772.     ----
  3773.      263 records for the MESSAGES file
  3774.  
  3775. Parameter  # 146 lets you set the maximum number of messages that the SYSOP 
  3776. will  allow  on the  system at any one time.    The number will have to  be 
  3777. based on the size  of  the  average  message on your bulletin board.   Most 
  3778. messages  require about  600  bytes  on the average.    The absolute  upper 
  3779. limit  on the number of messages  is  999.    If you specify 250  messages,  
  3780. you  can expect that the MESSAGES  file  will be preformatted to more  than 
  3781. 160K in size.
  3782.  
  3783. Parameter # 147 allows "conference" files to be maintained.  A "conference" 
  3784. consists of a message file and, if a "private" conference, a  corresponding 
  3785. users  file.   The  name of the conference can be anything that  the  SYSOP 
  3786. selects but can not be longer than 7 characters.   The message file's  name 
  3787. for  a  conference  consists  of the conference name  plus  the  characters 
  3788. "M.DEF".   The  user  file's  name associated  with  "private"  conferences 
  3789. consists of the conference name plus the characters "U.DEF".   Parameter  # 
  3790. 147 allows the SYSOP to create,  expand,  or contract either or both of the 
  3791. files  associated  with  a "conference."  This occurs ONLY when  the  SYSOP 
  3792. "ENDs" the CONFIG session by pressing the key marked END.   Parameter # 147 
  3793. allows  the SYSOP to perform all the functions on page 8 of CONFIG  on  the 
  3794. conference  that  was named/selected with Parameter # 147.   For a  further 
  3795. discussion of "conferences" see chapter 20.
  3796.  
  3797. 12.9 RBBS-PC SYSOP Utilities
  3798. ----------------------------
  3799. The  message  file contains all messages for   the   RBBS-PC  system.    As 
  3800. messages  are  killed they are only flagged as  inactive.    Parameter  161 
  3801. should  be used periodically to recover the space occupied  by  the  killed 
  3802. messages.   After  completion,   only the text of active messages  will  be 
  3803. present  and  the  old  file will remain on the system  with  the  name  of  
  3804. MESSAGES.OLD.   Also, you will need enough free disk space for the MESSAGES  
  3805. and MESSAGES.BAK files when packing the MESSAGES file or the packing cannot  
  3806. be  performed.   If  enough space is not found the packing  will  terminate 
  3807. abnormally and the MESSAGES file will be recovered.
  3808.  
  3809. Parameter  162 removes deleted users and users who  have  not  been on  the 
  3810. system  within the number of months specified using parameter 16 in CONFIG.  
  3811. You   should   have enough free disk space for USERS and USERS.BAK  or  the  
  3812. rebuilding   will terminate abnormally (the USERS file will  be  restored).  
  3813. It is important to note that beginning with CPC12-5A,  the USERS file is no 
  3814. longer a random file that is accessed sequentially but now is a random file 
  3815. that is accessed directly.   When a user logs on RBBS-PC "hashes" the users 
  3816.  
  3817.                        Page 59 of 149
  3818. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3819.  
  3820. name to find the users record directly in the USERS file.   That is why the 
  3821. USERS file's size is a power of 2 (i.e.  256,  1024,  etc.).   This  allows 
  3822. users  to  log  on much more quickly to RBBS-PC's that have  a  very  large 
  3823. number of users.
  3824.  
  3825. Parameter  163 will display the message headers  of all  messages,   active 
  3826. and killed,  that are present in the message file.   This is left over from 
  3827. one  of the many "debugging" stages of RBBS-PC prior to  CPC09.   Following 
  3828. the  policy  of  making all changes  "additive",  this  function  has  been 
  3829. retained.  It may help some SYSOP's recover from disk hardware failures.
  3830.  
  3831. Parameter  164  permits messages to be renumbered   sequentially   starting  
  3832. from  a  specified  message  using  whatever  starting  number   you  wish.   
  3833. Please note that there is not much error checking to be  sure  that the new 
  3834. numbers do not duplicate those of lower numbered  active  messages.    When 
  3835. complete,   the next message to be created will be the next  higher  number 
  3836. from  the resequence.   Unpredictable results will occur if a SYSOP creates 
  3837. messages with duplicate numbers!
  3838.  
  3839. Parameter  165 goes through the MESSAGES file and reconstructs  the  chains 
  3840. that link the messages together.  MESSAGES files that have "blank" messages 
  3841. or  abbreviated  messages  (i.e.  some lines of text are  missing)  can  be 
  3842. repaired with this facility.  
  3843.  
  3844. Parameter 166 allows the SYSOP to require all users (old and new) to answer 
  3845. the required questionnaire whose name was specified in parameter 28.
  3846.  
  3847. Parameter 167 allows the SYSOP to determine whether the format of the RBBS-
  3848. PC  directory  of files being used by the RBBS-PC  File  Management  System 
  3849. (FMS) to conform to the exact fixed format required by the FMS (in case the 
  3850. text  editor  used by the SYSOP to edit the file inserted tabs  or  shorten 
  3851. lines that had trailing blanks at the end of them).
  3852.  
  3853. 12.10 Use of DOS Subdirectories
  3854. -------------------------------
  3855. Parameter  181   specifies  the  letter  of the  single   drive   available  
  3856. that  this  copy  of RBBS-PC can write uploaded files to.  When a  file  is 
  3857. uploaded,  the file specified by CONFIG parameter 182 will be automatically 
  3858. appended  with  the  file name,  file size,   date  of  upload,  and  short 
  3859. description as specified by the user.  
  3860.  
  3861. Parameter  # 182 of the CONFIG program asks for the name of  the  text file 
  3862. to be used as an RBBS-PC "directory" of files  into  which the  file  name,  
  3863. file  size,  and  file  description of uploaded files can be recorded.  The 
  3864. default  name  is  99.DIR and  it must be on the  drive/path  specified  in 
  3865. parameter  #  183.
  3866.  
  3867. Parameter  183 specifies the drive/path were the upload directory is to  be 
  3868. found.
  3869.  
  3870. Parameter 184 specifies the letters of the drives from which files  can  be  
  3871. downloaded.   The  order in which they are specified is the order in  which  
  3872. the  drives will be searched.   If the order is BAC,  then drive B will  be  
  3873. searched  first for the file,  then drive A,  and finally drive  C.   While  
  3874. there can be duplicate files on each of the drives,   the first file  found  
  3875. will be the one downloaded to the user.
  3876.  
  3877. Parameter  185 allows the SYSOP to indicate that DOS subdirectories are  to 
  3878. be  used  by  allowing  the number of DOS subdirectories  to  be  used  for 
  3879. downloading  to  be specified (0 to 9999).   This number is  equal  to  the 
  3880. number  of  DOS subdirectories to be used for uploading (0 or 1)  plus  the 
  3881.  
  3882.                        Page 60 of 149
  3883. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3884.  
  3885. number of DOS subdirectories to be used for downloading.
  3886.  
  3887. Parameter  186  allows the SYSOP to indicate the DOS subdirectory to  which 
  3888. uploads are to be written.   RBBS-PC will prepend the upload disk drive  to 
  3889. it  (see  parameter  181)  and append the upload file name  after  it  when 
  3890. uploads are written to disk.
  3891.  
  3892. Parameter  187 allows the SYSOP to indicate that DOS subdirectories are  to 
  3893. be  used  when searching for files on downloading.  A valid download  drive 
  3894. followed by a colon, a reverse backslash, and the subdirectory name that is 
  3895. to  be  searched  must be entered.   If the root directory is  also  to  be 
  3896. searched,  just  enter  a valid download drive followed by  a  colon.  Each 
  3897. download  disk  drive is searched for only those subdirectories  that  were 
  3898. specified  as  existing  on  that  specific  drive.  If  two  download  DOS 
  3899. subdirectories are specified (A:\TEST1 and B:\TEST2) and two download  disk 
  3900. drives for parameter 184 (A and B),  the search for a download file will be 
  3901. in the following order:
  3902.  
  3903.             A:\TEST1\filename
  3904.             B:\TEST2\filename
  3905.  
  3906. It  is  possible to have the same subdirectory name on  different  download 
  3907. drives.   Each  would  have  to be  individually  specified  (A:\GAMES  and 
  3908. B:\GAMES   If  they  where,  the  search for a download file  would  be  as 
  3909. follows:
  3910.  
  3911.             A:\GAMES\filename
  3912.             B:\GAMES\filename
  3913.  
  3914. Parameter 188 is only functional if parameter 185 is greater than 0.   This 
  3915. parameter  allows  the  SYSOP to list,  change,  add,  or  delete  the  DOS 
  3916. subdirectories   to  be  used  for  either  uploading  (parameter  182)  or 
  3917. downloading  (parameter 187).   CONFIG does NOT actually create  or  delete 
  3918. such  DOS subdirectories -- that's up to the SYSOP to do using the standard 
  3919. DOS   commands.    Parameter  188  simply  allows  the  SYSOP   which   DOS 
  3920. subdirectories will (or may) exist when RBBS-PC is running.
  3921.  
  3922. Parameter  189  allows the SYSOP to specify the  extension  that  RBBS-PC's 
  3923. "directories"  of  files are to have.  See chapter 13 for a description  of 
  3924. RBBS-PC's  "directories" of files.-- they have no relation to DOS  2.x  and 
  3925. above subdirectories!  Most SYSOP's categorize the files that are available 
  3926. for downloading into general groups (games,  utilities, etc.).  The default 
  3927. is  "DIR".   This extension is also used as the prefix of the directory  of 
  3928. directories  that  is presented to callers when they ask for a list of  the 
  3929. directories available (DIR.DIR).
  3930.  
  3931. Option 190 allows the SYSOP to exclude the primary directory (DIR.DIR) from 
  3932. the  search  done by the New command.    If you have multiple   directories  
  3933. (i.e.   RBBS.DIR  through  BASIC.DIR),   any dates in the primary directory 
  3934. would not be  of  files.    The  "New"  command (as in "What new files have 
  3935. been   put   on  the  download  directories since I was last  on?")  search 
  3936. each  line of each  file  whose extension is DIR for a date  field.   Since 
  3937. the  first  level directory is normally a listing of the other  directories 
  3938. and  their general subject areas,  it is advisable to omit the first  level 
  3939. directory from the "New" command.
  3940.  
  3941. Descriptions of files uploaded are always appended to the upload directory.  
  3942. Parameter 191 allows the description to be appended to another file.   This 
  3943. could be,  for example, a list of all files on the system, or the basis for 
  3944. a bulletin reviewing the uploads.
  3945.  
  3946.  
  3947.                        Page 61 of 149
  3948. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  3949.  
  3950. Option  192 is how the SYSOP declares that there is a shared FMS directory.  
  3951. Leave  it  blank  if there is none.   Chapter 14 discusses  in  detail  the 
  3952. advantages  of using this directory,  which has a different structure  from 
  3953. other   directory  files.    This  file  must  be  in  the  drive/path  for 
  3954. directories.
  3955.  
  3956. Users who upload can classify uploads into a category if their security  is 
  3957. at least as high as the level specified in parameter 193.   This option can 
  3958. save  the  SYSOP considerable time.  If the uploader  cannot  classify  the 
  3959. upload, it goes only to the upload directory and uses the default  category 
  3960. code if written to the FMS directory.
  3961.  
  3962. If  you  do  NOT  want users to categorize  the  files  that  they  upload, 
  3963. independent  of  whether or not you are using FMS, simply  set  the  CONFIG 
  3964. option  193  to a security level higher than any user can obtain.   If  the 
  3965. uploader  cannot classify the upload, it goes only to the upload  directory 
  3966. and uses the default category code if written to the FMS directory.
  3967.  
  3968. If  you  DO want users to categorize the files that they  upload  you  must 
  3969. follow these four steps:
  3970.  
  3971.      1.  Set CONFIG option 193 to the security level of the U>pload 
  3972.          command.
  3973.      2.  Create a help file to show users when they are asked to 
  3974.          categorize an uploaded file that might look something like:
  3975.  
  3976.          Category    Category    Description
  3977.            Code        Name
  3978.  
  3979.             1        Utilities   General Utilities
  3980.             2        Games       Games
  3981.             3        RBBS-PC     RBBS-PC files
  3982.             4        RBBS-UTIL   Utilities for RBBS-PC
  3983.  
  3984.      3.  Set CONFIG option 67 to the name of the file that you created
  3985.          for step 2
  3986.  
  3987.      4.  If, and ONLY if, you are using the FMS, create a second file
  3988.          in the format described in section 14.0 for option 196 and set
  3989.          option 196 to the name of the file created in this format.
  3990.  
  3991. Set  parameter 194 to "YES" if there are no directories other than the  FMS 
  3992. directory.   That  increases the speed of RBBS-PC because it does not  look 
  3993. for additional directories.   If you do not have a shared directory or have 
  3994. a  hybrid  system with some physically distinct directory files,  set  this 
  3995. parameter to "NO".
  3996.  
  3997. Parameter 195 is the default category code for uploads.   This parameter is 
  3998. how  uploads  get  classified in the FMS directory if the  uploader  cannot 
  3999. provide  a classification.   To make all new uploads private  and  viewable 
  4000. only  by  the  SYSOP (until the SYSOP reviews the  files  and  changes  the 
  4001. classification),  set  the default code to "***".   The default is "UC" for 
  4002. UnClassified.
  4003.  
  4004. Parameter  196  is  the  name of the text file  which  tells  RBBS-PC  what 
  4005. categories  are included in the shared FMS directory.   The format  of  the 
  4006. file is
  4007.  
  4008.            "<category name>","<category codes>","<category description>"
  4009.  
  4010.  
  4011.  
  4012.                        Page 62 of 149
  4013. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4014.  
  4015.     For example
  4016.                     "BASIC","BPG","BASIC Programming"
  4017.  
  4018. means  that  callers  know  the category as BASIC,  its  code  in  the  FMS 
  4019. directory  is  "BPG",  and  the category is to be described to  callers  as 
  4020. "BASIC  Programming".   See  chapter 14 for details on how to set  up  this 
  4021. critical system file.
  4022.  
  4023. Parameter  197  is only meaningful if the RBBS-PC  File  Management  System 
  4024. (FMS)  has been enabled via parameter 192.  RBBS-PC will scan this file for 
  4025. the latest uploads.  When a caller logs on, RBBS-PC will determine how many 
  4026. files are new since the caller last logged on,  up to a maximum of 23.   By 
  4027. setting option 197,  the caller is offered the chance to immediately review 
  4028. these new files for downloading,  if the caller has sufficient security  to 
  4029. download.   This  happens  before the bulletins or messages  are  reviewed.  
  4030. RBBS-PC's  that emphasize software exchange may want to enable this option, 
  4031. others  may not want to give the caller a chance to download the new  files 
  4032. until after bulletins and messages have been reviewed.
  4033.  
  4034. Parameter  198 sets the maximum length of the description that can be given 
  4035. to  an uploaded file.  RBBS-PC can be configured so that those  who  upload 
  4036. files can provide a description of the file they upload.   This description 
  4037. informs  others what the file does and helps them decide whether they  want 
  4038. to  download the files.    The maximum length of the description can be set 
  4039. to any value between 40 and 46.   WARNING:  this option will not change the 
  4040. length of existing directories.
  4041.  
  4042. Parameter  199 controls who can view new uploads based on  security  level.  
  4043. This  works differently,  depending on whether type upload directory is the 
  4044. FMS directory and is stored other than in the searchable directories.
  4045.  
  4046.     1.)  If the upload directory is not in the drive/path of  the 
  4047.          searchable directories,  it will be viewable if and only 
  4048.          if  the  callers has a security at least as high as  the 
  4049.          minimum to view new uploads.  
  4050.  
  4051.     2.)  If the upload directory is not the FMS directory but  is 
  4052.          stored  in  the  same  drive/path  as  it,  it  will  be 
  4053.          viewable.
  4054.  
  4055.     3.)  If  the  upload  directory is  the  FMS  directory,  the 
  4056.          minimum to view applies only to uploads with the default 
  4057.          category code.
  4058.  
  4059. Parameter  200  specifies  where all directory files must  be  put,  except 
  4060. possibly for the upload directory.  Only in this DOS directory does RBBS-PC 
  4061. look  for RBBS-PC  directory files,  with the sole exception of the  upload 
  4062. directory when the caller's security level permits the upload directory  to 
  4063. be viewed (see parameter 199).
  4064.  
  4065. 12.11 Communications Parameters
  4066. -------------------------------
  4067. Parameter  # 201 requests the user to specify the communication  port  that  
  4068. RBBS-PC   will use.   Because the BASIC language can only support COM1  and 
  4069. COM2, RBBS-PC can only support COM1 and COM2 for remote access (i.e. via  a 
  4070. communications  port and a modem).  However, RBBS-PC does accept COM0 as  a 
  4071. parameter.    This  allows  RBBS-PC  to  run  on  a  PC  without  using   a 
  4072. communications  port  or modem and still appear to the PC user as  if  they 
  4073. were  accessing  RBBS-PC remotely.  This "workstation"  feature  can  allow 
  4074. RBBS-PC to be used in a local area network environment where each of up  to 
  4075. 36  PC's can access the central RBBS-PC system (on the LAN server) and  use 
  4076.  
  4077.                        Page 63 of 149
  4078. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4079.  
  4080. RBBS-PC   for   electronic  mail  within  the  LAN.    Alternatively   this 
  4081. "workstation"  mode can be used to teach users how to access RBBS-PC  in  a 
  4082. classroom environment without requiring telephone access.
  4083.  
  4084. Parameter  202 allows the SYSOP to specify the number of seconds that RBBS-
  4085. PC should wait after initializing the modem with a "reset"  command.   Most 
  4086. modems require only 2 seconds, however some may require much (MUCH) longer.  
  4087. If  the  2 second default is not sufficient consult with your modem  vendor 
  4088. and try different settings.
  4089.  
  4090. Parameter 203 allows the SYSOP to specify how long to wait prior to issuing 
  4091. a modem command.   This is most useful when you have configured RBBS-PC  to 
  4092. only issue commands between rings and want the modem to "settle down" after 
  4093. a  ring has ended.   The default setting is one second.   If you find  that 
  4094. 2400  baud calls are improperly connected at 1200 baud,  increase the wait.  
  4095. Some modems take longer to connect at 2400 than at lower speeds.
  4096.  
  4097. Parameter  204  specifies the number of rings to wait before answering  the 
  4098. phone.   Specifying  zero rings means that RBBS-PC will answer the phone as 
  4099. soon as it rings. 
  4100.  
  4101. If you specify the number ONE,  RBBS-PC will wait for the phone to ring and 
  4102. then instruct the modem to answer the phone.   This is the default  setting 
  4103. and  requires  that  the modem be capable of indicating that the  phone  is 
  4104. ringing (i.e. provide the "ring indicator" signal) and that the modem cable 
  4105. have PIN 22 connected at both ends.
  4106.  
  4107. Specifying  a number equal to ZERO (and not specifying  "ring-back")  means 
  4108. that  RBBS-PC  will initialize the modem to automatically answer the  phone 
  4109. (independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to 
  4110. occur.   This is NOT RECOMMENDED.   However, if your non-Hayes modem simply 
  4111. is  incapable of indicating that the phone is ringing or your  modem  cable 
  4112. does  not  have PIN 22 connected,  this is the     option you will have  to 
  4113. elect.  If this option is selected,  you are not     allow to drop into DOS 
  4114. remotely (either through a "door" or via  the     SYSOP's function 7).   If 
  4115. we allowed this and your were inadvertently disconnected the next person to 
  4116. dial would be connected to wherever you where because the modem (not  RBBS-
  4117. PC) is answering the phone.
  4118.  
  4119. If you specify a number greater than 2 means that RBBS-PC will either:
  4120.  
  4121.     1.  wait until the specified number of rings to answer the phone, or
  4122.  
  4123.     2.  answer the next call after the current one after the specified 
  4124.         number of rings specified provided that the next call comes
  4125.         within 45 seconds after the first call stops ringing the phone.
  4126.         This mode is called RING-BACK.
  4127.  
  4128. Specifying  a  number greater than one is useful only when a  single  phone 
  4129. line can receive both voice (i.e. callers who wish to speak with the SYSOP) 
  4130. and data calls (i.e. for RBBS-PC) on an unscheduled basis.  In this type of 
  4131. environment (i.e.  a random mix of voice and RBBS-PC calls),  there are two 
  4132. ways a SYSOP can set up RBBS-PC so that RBBS-PC can automatically determine 
  4133. if the call is for the SYSOP or for RBBS-PC.
  4134.  
  4135. First,  the SYSOP can establish the rule with the callers that if unable to 
  4136. personally  answer the phone,  then RBBS-PC will answer the phone after  it 
  4137. rings the number of times specified in option 9.  Callers can let the phone 
  4138. ring  and (if it is not answered by a person within some agreed upon number 
  4139. rings) know that it will be answered by RBBS-PC.   This is useful to  those 
  4140. who  may  have either hearing or speech problems and are unable to use  the 
  4141.  
  4142.                        Page 64 of 149
  4143. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4144.  
  4145. telephone conveniently for voice communications.
  4146.  
  4147. A second approach is the more classic,  "ring-back" approach.   RBBS-PC can 
  4148. be  told to NEVER answer the first call (it can ring  forever!).   However, 
  4149. should  the caller WAIT A MINIMUM OF 12 SECONDS (a Hayes  restriction)  and 
  4150. call  back no later than 45 seconds after the last ring of the first  call, 
  4151. RBBS-PC  will  answer  the  call after the number  of  rings  indicated  in 
  4152. parameter  9  provided that the number of rings is set to between  one  and 
  4153. five. If callers want to make a voice contact, they can simply call and let 
  4154. the phone ring until it is answered.  If you have a dedicated line for your 
  4155. RBBS-PC (either full-time or on a scheduled basis),   parameter 9 should be 
  4156. set to ZERO.
  4157.  
  4158. Option  205 provides the SYSOP with the capability of selecting  ANY  modem 
  4159. commands appropriate for the modem being used -- not just the default Hayes 
  4160. commands  RBBS-PC would normally use.  Before the default RBBS-PC  standard 
  4161. Hayes commands are changed, you should thoroughly understand the modem that 
  4162. your  are  using  and  the modem commands, as used  by  RBBS-PC,  that  are 
  4163. described in section 13.
  4164.  
  4165. Option  206 allows MNP to be optional  within  RBBS-PC.  REGRETTABLY,  this 
  4166. option  can not be selected with version CPC15-1B.   This is because it was 
  4167. not  possible  to  resolve the linkage incompatibilities  between  the  new 
  4168. compilers  and the MNP library and RBBS interface prior to the  release  of 
  4169. CPC13-1A.  Every effort is being made to correct this particular problem. 
  4170.  
  4171. Some  SYSOP's  may not wish to provide their users with the choice  of  MNP 
  4172. protocol (especially if they are employed by a company that has a competing 
  4173. protocol).   RBBS-PC's   features and growth are designed to be "additive."  
  4174. This  parameter  allows  each  SYSOP to decide if MNP  protocol  is  to  be 
  4175. available  for file transfers.   Microcom's error-free  protocol,  MNP,  is 
  4176. available  for  file transfer beginning with version CPC12-4A  of  RBBS-PC.  
  4177.  
  4178. Option  207  allows  the  SYSOP to tell RBBS-PC either  to  wait  to  issue 
  4179. commands in-between rings or to issue modem commands without waiting.  Some 
  4180. modems  cannot both handle the telephone ringing and accept modem  commands 
  4181. simultaneously.  Other modems, like the Hayes, can handle such simultaneous 
  4182. demands.  For these later (i.e. Hayes, Prometheus,  Multi-Tech, etc.)  this 
  4183. option should be set to "NO." 
  4184.  
  4185. Some  2400  baud modems (like the Hayes) MUST be opened initially  at  2400 
  4186. baud  because when they automatically answer the phone they can only  "bump 
  4187. down" when automatically detecting baud rate (i.e.  from 2400 down to  1200 
  4188. down  to  300).  Parameter 208 allows the SYSOP to select the baud rate  at 
  4189. which RBBS-PC is to open the modem at initially.
  4190.  
  4191. The SYSOP can select the number of seconds RBBS-PC will allow a user to  be 
  4192. "idle" (i.e. not sending or receiving data) via parameter 209.  
  4193.     
  4194. Parameter 210 allows the SYSOP to indicate if a "dumb" modem is being  used 
  4195. (i.e. one that will answer the phone and automatically detect the  caller's 
  4196. baud  rate  if it is the the modem was opened for).  Selecting  this  means 
  4197. that no modem commands are written to the modem.
  4198.  
  4199. If the SYSOP has a non-Hayes modem (i.e.  one that will not recognize Hayes 
  4200. commands and will not return Hayes responses) that will only  "auto-answer" 
  4201. the  phone,  parameter  210 allows the SYSOP to so indicate to  RBBS-PC  by 
  4202. selecting  "dumb"  modem.   Typically  this would  be  some  communications 
  4203. network (i.e.  TymnNet) or local area network that supplied a simple RS-232 
  4204. interface.  Selecting this option causes RBBS-PC to 
  4205.  
  4206.  
  4207.                        Page 65 of 149
  4208. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4209.  
  4210.          1.  Issue no Hayes commands,
  4211.          2.  Depend on no Hayes-like responses,
  4212.          3.  Control the interface with the Data Terminal Ready (DTR), 
  4213.          4.  Assume somebody has called whenever Carrier Detect (CD) is 
  4214.              detected, and
  4215.          5.  Assume that whomever calls is at the baud rate selected in
  4216.              CONFIG parameter 38.
  4217.  
  4218. The  Hayes  2400 baud modem has no  hardware  switches.   It's  remembered, 
  4219. permanent  settings  can  be set only through software.   Option  211  will 
  4220. properly initialize a Hayes 2400 modem for use with RBBS.
  4221.  
  4222. Parameter  212  is the time to wait after dropping DTR.   This is  used  in 
  4223. RBBS-PC for dropping the connection after a caller logs off normally.   Too 
  4224. short  a  delay will cause the modem not to  re-initialize  properly.   The 
  4225. default time is 3 seconds.
  4226.  
  4227. In  order  to provide the maximum flexibility (and get RBBS-PC out  of  the 
  4228. protocol writing business),  RBBS-PC supports external protocol drivers via 
  4229. a  standard interface.   The external protocol driver for YMODEM,  YMODEMG, 
  4230. IMODEM is the file YMODEM.EXE.   The external protocol driver for  WINDOWED 
  4231. XMODEM  is  WXMODEM.EXE.   The  external  protocol  driver  for  KERMIT  is 
  4232. PCKERMIT.EXE.   These  protocols  work  only if the  external  drivers  are 
  4233. available  and  in the drive/path specified by  parameter  213.   Also  see 
  4234. parameter 107.
  4235.  
  4236. RBBS-PC has internal code to support Xmodem,  and Xmodem is also  supported 
  4237. by  external protocol drivers.   Parameter 214 lets the SYSOP specify which 
  4238. services xmodem requests.  The default is to use the internal xmodem.
  4239.  
  4240. RBBS-PC  can  check  right  after a caller logs  on  whether  the  caller's 
  4241. communication  program  supports autodownload.   Turning on  parameter  215 
  4242. means  that  RBBS  will  always do this  check.   However,  this  check  is 
  4243. incompatible with come terminals and communications packages,  causing them 
  4244. to  stop displaying on the local screen.   If the check is passed,  RBBS-PC 
  4245. announces  that autodownload is available and asks callers if they want  to 
  4246. use it.   This check is unnecessary for autodownload to work.   The  caller 
  4247. can  control  whether  autodownload  is used with the  T)oggle  command  in 
  4248. utilities.  It is recommended that this option NOT be enabled.
  4249.  
  4250. Parameter  216 allows the SYSOP to restrict searches (either  for  specific 
  4251. strings or via the "N>ew" command by date) to a single RBBS-PC directory of 
  4252. files.  If not restricted all RBBS-PC file directories will be searched.
  4253.  
  4254. Parameter 217 is not implemented in CPC15-1B.
  4255.  
  4256. Parameter 218 allows modems that require it, to have "flow control"  between 
  4257. the  modem and the PC running RBBS-PC using the  "request-to-send"  signal, 
  4258. RTS.  Some modems with built-in error checking protocols require this to be 
  4259. set  on or, should an error-free link become disconnected, the  modem  will 
  4260. never respond to the PC after RBBS-PC recycles.
  4261.  
  4262. 12.12 Parameters for RBBS-PC NET-MAIL
  4263. -------------------------------------
  4264. Parameter  221 allows the SYSOP to specify the time of day in  HHMM  format 
  4265. after  which  RBBS-PC is to SHELL to a batch file for  system  maintenance.  
  4266. The  file  that  RBBS-PC will SHELL to is named RBBSTIME.BAT.   It  is  the 
  4267. SYSOP's responsibility to create this .BAT file.
  4268.  
  4269. Parameter 222 allows RBBS-PC to handle "store-and-forward" mail of messages 
  4270. and files.  Currently the only such "net mail" that is supported is SeaDog.  
  4271.  
  4272.                        Page 66 of 149
  4273. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4274.  
  4275. By   enabling  this  option,  the  SYSOP  assumes  the  responsibility   of 
  4276. configuring  the  "net  mail" application to
  4277.  
  4278.      1. answer the phone and determine if the caller is sending "net mail".
  4279.  
  4280.      2. if the caller is not sending "net mail", the net mail application
  4281.         must invoke RBBS-PC with the following command line:
  4282.  
  4283.                RBBS-PC.EXE nodeid filename /time /baud
  4284.  
  4285.         where:
  4286.            "nodeid" is the node ID in the range 1-9, 0, or A-Z.
  4287.            "filename" is the fully qualified file name to use as the
  4288.                 RBBS-PC ".DEF" file.
  4289.            "/time" is the time of day for RBBS-PC to return to the "net
  4290.                 mail" application that called RBBS-PC.
  4291.            "/baud" if the baud rate that the caller dialed in at.
  4292.  
  4293. 12.13 New users parameters
  4294. --------------------------
  4295. Parameter  241  allows  the SYSOP to elect to not ask new users  for  their 
  4296. default  parameters.   RBBS-PC  typically  asks  new  users  whether  their 
  4297. terminal supports upper case,  they want line feeds,  what they want for  a 
  4298. graphics  preference,  what they want for a default protocol,  and  whether 
  4299. they want nulls.  Sometimes these questions confuse new users, who lack the 
  4300. knowledge  to answer them.   To bypass the questions and force new users to 
  4301. get  the  defaults (upper and lower  case,  line  feeds,  no  graphics,  no 
  4302. protocol, no nulls), specify "NO" this parameter.
  4303.  
  4304. Parameters 242 through 249 are not implemented in CPC15-1B.
  4305.  
  4306. Parameter 250 allows new users to be always treated as new users every time 
  4307. that  they log on.   RBBS-PC normally logs new users in the users file  and 
  4308. recognizes  them as having previously logged on should they call back.   If 
  4309. the SYSOP wants new users not to be logged to the users file, so that a new 
  4310. use continues to be treated as a new user every time he calls, specify "NO" 
  4311. to option 250.
  4312.  
  4313. Parameter  251  allows  the SYSOP to permit RBBS-PC to  continue  operating 
  4314. should  the  users file run out of room for new users.   The user  file  in 
  4315. RBBS-PC  can run out of room for new users.   Until the SYSOP rebuilds  the 
  4316. users file or expands it,  there are then two options:  
  4317.  
  4318.      1.   do not let the new user on, or
  4319.  
  4320.      2.   let the new user on but do not try to add him to the user file.  
  4321.  
  4322. Saying "YES" to option 251 enable new users to be allowed on on when  there 
  4323. is no room rather than being told there is no room and then disconnected. 
  4324.  
  4325. 13.0 HAYES COMMANDS AND MODEM SWITCH SETTING CONSIDERATIONS
  4326. ----------------------------------------------------------
  4327. 13.1 Hayes Modem Switch Setting Considerations
  4328. ---------------------------------------------
  4329. RBBS-PC is tested with a HAYES Smartmodem 1200 (i.e.  external). The switch 
  4330. settings on the modem must be as follows:
  4331.  
  4332.               switch -- 12345678
  4333.               setting - UUDDDUUD
  4334.  
  4335. Recognizing  that there are many "Hayes-compatible" (and not so compatible) 
  4336.  
  4337.                        Page 67 of 149
  4338. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4339.  
  4340. modems in use,  this section is intended to assist those adventurous  souls 
  4341. who  use such modems and need some guidance on what the otherwise  mystical 
  4342. Hayes switch settings mean.  The following table may be of some help:
  4343.  
  4344.               Setting            Function to RBBS-PC
  4345. Hayes    -----------------
  4346. Switch   Factory   RBBS-PC     (NOTE "Up" means enabled or "on")
  4347.          -------   -------
  4348.  
  4349.   1       Down       Up       Allows RBBS-PC to control the modem using the
  4350.                               RS-232 DTR lead (pin 20).
  4351.  
  4352.   2        Up        Up       Not meaningful to RBBS-PC (could be down) and
  4353.                               is used to indicate if result codes are to be
  4354.                               English words or single digits.  RBBS-PC sets
  4355.                               this with the Hayes "V" command.  
  4356.  
  4357.   3       Down      Down      Not meaningful to RBBS-PC (could be down) and
  4358.                               is used to indicate if result codes are to be
  4359.                               sent to RBBS-PC.  RBBS-PC sets this with the
  4360.                               Hayes "Q" command.
  4361.   4        Up       Down      The modem does not echo characters unless
  4362.                               half-duplex is selected and the modem is on-
  4363.                               line. 
  4364.  
  4365.   5       Down      Down      Modem is NOT to answer incoming calls.  RBBS-
  4366.                               PC monitors the ring indicator (pin 22) to
  4367.                               determine if the phone is ringing.  If it is,
  4368.                               RBBS-PC will issue the necessary commands to
  4369.                               the modem.
  4370.  
  4371.   6       Down       Up       RBBS-PC checks for the carrier signal using
  4372.                               the RS-232 Carrier Detect lead (pin 8).  If
  4373.                               carrier is lost, RBBS-PC hangs up the phone
  4374.                               and re-cycles to await the next call.
  4375.  
  4376.   7        Up        Up       Not really required by RBBS-PC.   However  in 
  4377.                               the "down" position, the telephone extension 
  4378.                               light will illuminate on a multi-line 
  4379.                               installation when the modem answers a call.
  4380.  
  4381.   8       Down      Down      Enables the Smartmodem 1200 to recognize the
  4382.                               Hayes commands issued by RBBS-PC.
  4383.  
  4384. The most common problem, "RBBS-PC continually recycles," occurs when switch 
  4385. six is left in the factory position.
  4386.  
  4387. These   switch  settings  do  not  have  to  be  changed  for  most   other  
  4388. communications software packages.  (You can leave the switches set as shown  
  4389. above if you use PC-TALK for your smart terminal  communications.  However,  
  4390. you will be advised to give the modem an "ATZ" command before using PC-TALK   
  4391. in   order  to reset the registers correctly.)  RBBS-PC should be used only 
  4392. with  versions 123 and above of the Hayes Smartmodem 1200 and with  version 
  4393. 247  and  above of the Hayes Smartmodem 2400.   Earlier versions   do   not  
  4394. answer   the  telephone  properly.    The  ATI  command  will   cause   the  
  4395. Smartmodem to tell you its version.
  4396.  
  4397. Hayes is now shipping an external modem called the Hayes 1200FE that has 10 
  4398. switch  settings.   To run RBBS-PC switches 9 and 10 of the 1200FE must  be 
  4399. left  up  (the factory setting).   Hayes is also now shipping  an  internal 
  4400. modem called the Hayes 1200BFE that has 6 switch settings.   To run RBBS-PC 
  4401.  
  4402.                        Page 68 of 149
  4403. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4404.  
  4405. switches 4,  5,  and 6 must be left up (the factory setting).  If you can't 
  4406. figure  out what the switching settings on these new modems should be based 
  4407. on  the  switch settings given for the "original" Hayes  1200,  CALL  HAYES 
  4408. TECHNICAL SUPPORT!  Since I don't have the newer modems, I won't be of much 
  4409. help if you call me.
  4410.  
  4411. 13.2 Hayes Command's Considerations
  4412. ----------------------------------
  4413. The  Hayes commands used to control the modem are all external  to  RBBS-PC 
  4414. beginning  with version CPC13-1A.   These command strings are in the  RBBS-
  4415. PC.DEF  file which may be modified by any file editor that can handle ASCII 
  4416. files (i.e. DOS' EDLIN utility).
  4417.  
  4418. The  RBBS-PC.DEF  file  contains five Hayes command strings -- one  on  the 
  4419. second  line of the .DEF file and four on the last line of the  .DEF  file.  
  4420. Using  RBBS-PC's  CONFIG  utility's defaults,  the command strings  are  as 
  4421. follows.
  4422.  
  4423.     13.2.1 Command to Initialize the Modem
  4424.     -------------------------------------
  4425.     The  second command string in the .DEF file is the first Hayes  command 
  4426.     string on the last line of the .DEF file and is:
  4427.  
  4428. Command    Meaning
  4429. AT         Signifies the following characters are Hayes commands.
  4430. Z          Causes a software reset and applies all default values.
  4431.  
  4432.     This  command  is ALWAYS issued and is the first command issued to  the 
  4433.     modem every time RBBS-PC gets ready for calls.
  4434.  
  4435.     13.2.2 Command to Set Up the Modem
  4436.     ---------------------------------
  4437.     The  first  command string,  on the second line of the  .DEF  file,  is 
  4438.     ALWAYS  issued and is the second command issued to the modem every time 
  4439.     RBBS-PC  gets ready for calls.
  4440.  
  4441.     If  the appropriate CONFIG has been set to tell RBBS-PC to answer on  a 
  4442.     ring greater than zero, the command string is:
  4443.  
  4444. Command    Meaning
  4445. AT         Signifies the following characters are Hayes commands.
  4446. M0         Turn the monitor speaker on the modem off permanently.
  4447. Q1         Do not return result codes to the PC.
  4448. S2=255     Disable escape code detection.
  4449. S10=30     Do not drop disconnect user unless carrier drops for more
  4450.            than seconds (you may want to set this to 15)
  4451. E0         Do not echo characters back to the PC when receiving Hayes
  4452.            commands.
  4453. S0=x       "x" is set as follows:
  4454.                  S0=254  to answer on a specific number of rings > 0
  4455.                  S0=255  to enable "ring-back"
  4456.  
  4457.     If RBBS-PC has been set to answer on zero rings, Q and S0 are different 
  4458.     and V1 and X1 are added to this command string and it is:
  4459.  
  4460. Command    Meaning
  4461. AT         Signifies the following characters are Hayes commands.
  4462. M0         Turn the monitor speaker on the modem off permanently.
  4463. Q0         Send result codes to the PC.
  4464. S2=255     Disable escape code detection.
  4465. S10=30     Do not drop disconnect user unless carrier drops for more
  4466.  
  4467.                        Page 69 of 149
  4468. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4469.  
  4470.            than seconds.  Some of the Hayes ROM's have a bug in them
  4471.            that causes the modem to only answer at 1200 baud if anything
  4472.            other than the factory default is used for S10.  If you 
  4473.            have such a problem, simply set S10 equal to 7.
  4474. E0         Do not echo characters back to the PC when receiving Hayes
  4475.            commands.
  4476. S0=1       Answer the phone on the first ring.
  4477. V1         "Extended" result codes are to be transmitted as words.
  4478. X1         Tells the modem to send "extended" result codes to the PC.
  4479.  
  4480.     13.2.3 Command to Determine What Ring to Answer On
  4481.     -------------------------------------------------
  4482.     The third command string in the .DEF file is the second Hayes 
  4483.     command string on the last line of the .DEF file and is:
  4484.  
  4485. Command    Meaning
  4486. AT         Signifies the following characters are Hayes commands.
  4487. S1?        Requests the modem to return the number of times that the phone
  4488.            has rung.
  4489.  
  4490.     This  command string is only issued when CONFIG has been used  to  tell 
  4491.     RBBS-PC  to  answer on a specific number of rings other than  0.   Some 
  4492.     modems have trouble with the S1? command because they do not  recognize 
  4493.     the ? part of the command.  Again, verify what your modem is capable of 
  4494.     handling.
  4495.  
  4496.     13.2.4 Command to Answer the Phone
  4497.     ---------------------------------
  4498.     The  fourth command string in the .DEF file is the third Hayes  command 
  4499.     string on the last line of the .DEF file and is:
  4500.  
  4501. Command    Meaning
  4502. AT         Signifies the following characters are Hayes commands.
  4503. Q0         Tells the modem to send result codes to the PC.
  4504. X1         Tells the modem to send "extended" result codes to the PC.
  4505. V1         "Extended" result codes are to be transmitted as words.
  4506. A          Tells the modem to answer the phone immediately.
  4507.  
  4508.     This  is  only issued if the number of rings to answer on  are  greater 
  4509.     than 0.
  4510.  
  4511. RBBS-PC  utilizes the extended verbal results code (CONNECT,  CONNECT  300, 
  4512. CONNECT 1200, and CONNECT 2400) to determine the callers baud rate.
  4513.  
  4514. Some  Hayes  300  modems don't function with RBBS-PC because  they  do  not 
  4515. recognize the "X1" command.   If you have a modem like this,  simply remove 
  4516. the X1 command from the command strings in the .DEF file.
  4517.  
  4518.     13.2.5 Command to Take the Phone Off the Hook
  4519.     --------------------------------------------
  4520.     The  fifth command string in the .DEF file is the fourth Hayes  command 
  4521.     string on the last line of the .DEF file and is:
  4522.  
  4523. Command    Meaning
  4524. AT         Signifies the following characters are Hayes commands.
  4525. Q1         Do not return result codes to the PC.
  4526. E1         Echo characters back to the PC when handling Hayes commands.
  4527. H1         Take the modem off the hook (i.e. busy out the line).
  4528. M0         Turn the monitor speaker on the modem off permanently.      
  4529.  
  4530. This command is ALWAYS issued whenever the SYSOP is doing local maintenance 
  4531.  
  4532.                        Page 70 of 149
  4533. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4534.  
  4535. (i.e. hits ESC) or a user hangs up.
  4536.  
  4537.     13.2.6 Commands to Initialize the Modem Firmware
  4538.     ------------------------------------------------
  4539.     The commands to initialize the modem firmware are not contained in  the 
  4540.     .DEF  file,  but rather are dynamically set (or reset) each  time  that 
  4541.     CONFIG is invoked.  There are essentially three commands:
  4542.  
  4543.         1.  A command to clear the modem's firmware.
  4544.         2.  A command to initialize the modem's firmware.
  4545.         3.  The command to write the initialized firmware to the modem's
  4546.             non-volatile memory is "&W".
  4547.  
  4548.     The default command to clear the modem's firmware is:
  4549.  
  4550. Command    Meaning
  4551. AT         Signifies the following characters are Hayes commands.
  4552. &F         Load the modem active configuration  area  with  the  factory 
  4553.               profile contained in the Hayes ROM.
  4554.     The default command to initialize the modem's firmware is:    
  4555.  
  4556. Command    Meaning
  4557. AT         Signifies the following characters are Hayes commands.
  4558. &C1        Data carrier detect tracks the state of the data carrier from
  4559.               the remote modem.
  4560. &D3        Modem is to assume the initialization state if it detects ON-
  4561.               to-OFF transition of DTR.  The newer versions of the Hayes
  4562.               2400 baud modem (ROM 249 or greater) and some clones do not
  4563.               allow RBBS-PC to recycle properly when the &D switch is set 
  4564.               to 3.  If you are having a problem, set the it to &D2.
  4565. B1         Set the modem to Bell 212A mode when the 1200 BPS data transfer
  4566.               rate is selected.
  4567. E0         Do not echo characters of the modem commands issued by RBBS-PC
  4568.               back to the PC running RBBS-PC.
  4569. V1         Select long-form result codes.
  4570. M0         Disable the modem's speaker when carrier is detected.
  4571. S0=0       Disable "auto-answer" mode.
  4572. &T5        Disallow a request from the remote modem for a remote digital 
  4573.               loopback test.
  4574.  
  4575. These  three  commands  are  ALWAYS issued in CONFIG  when  option  211  is 
  4576. selected.   These commands can be temporarily altered by changing them  via 
  4577. option 205 of CONFIG prior to issuing option 211.
  4578.  
  4579. 14.0  RBBS-PC's FILE MANAGEMENT SYSTEM
  4580. --------------------------------------
  4581. The  File  Management  System (FMS) is a facility built  into  RBBS-PC  for 
  4582. managing  the  files  subsystem.   SYSOPs must  make  files  available  for 
  4583. downloading,  and  callers  must  be able to find out  what  files  can  be 
  4584. downloaded  and  upload new files for sharing with  others.   Callers   can 
  4585. search for files available for downloading by a substring in the file  name 
  4586. or  description (command S),  on or after a specified date (command N),  or 
  4587. by a subject matter (commands L,N,S).   The files system is organized  into 
  4588. four logical areas:
  4589.  
  4590.     1. Upload drive/subdirectory (Uploaded files written to here) 
  4591.  
  4592.     2. Upload directory (Descriptions of uploaded files written to here)
  4593.  
  4594.     3. Drive/subdirectory of searchable directories (subject directories,
  4595.            shared FMS directory resides here)
  4596.  
  4597.                        Page 71 of 149
  4598. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4599.  
  4600.     4. Download drives/subdirectories (downloadable files stored here)
  4601.  
  4602. An RBBS-PC "directory" of files is NOT A DOS DIRECTORY.   It is just a text 
  4603. file  containing  information  about the files uploaded  or  available  for 
  4604. downloading.
  4605.  
  4606. A  SYSOP  must  specify  via CONFIG where the files  are  stored  that  are 
  4607. available  for  downloading.   This  can be specified either by a  list  of 
  4608. download drives (e.g.  "CDE") or a list of subdirectories (e.g.  C:\DOWN1\, 
  4609. C:\DOWN2\).
  4610.  
  4611. ONLY   THE   FILES  STORED  IN  THE  DOWNLOAD   DRIVES/SUBDIRECTORIES   ARE 
  4612. DOWNLOADABLE  (with one exception:   SYSOP's can download from  the  upload 
  4613. drive).
  4614.  
  4615. CONFIG is also used to specify where uploaded files are written to,  either 
  4616. as a drive letter (e.g.  "D") or as a subdirectory (e.g.  D:\UPLDS\).
  4617.  
  4618. The  SYSOP  has  the option to make the upload  drive/subdirectory  also  a 
  4619. download drive/subdirectory.   Only by making the upload drive/subdirectory 
  4620. also  be  a  download  can files  uploaded  be  immediately  available  for 
  4621. downloading  by  others.   Most prudent SYSOPs do not make files that  have 
  4622. been uploaded available until after they have had a chance to review them.
  4623.  
  4624. A description of an uploaded file is automatically appended by RBBS-PC to a 
  4625. special  RBBS-PC directory of files called the upload  directory.   RBBS-PC 
  4626. appends  entries  describing  the  new uploads to the  end  of  the  upload 
  4627. directory in the format
  4628.  
  4629.   <file name> <file date> <file size> <file description> <category code>
  4630.  
  4631. <file name> is the name of the uploaded file, and has the format X.Y, where 
  4632.             X  is  the file name prefix and Y is the file  name  extension.
  4633.  
  4634. <file date> is the date the file was uploaded  in the format MM-DD-YY.   MM
  4635.             is the number of month (1 digit months include a leading  zero, 
  4636.             so  that  March is 03).   DD is the number of the day (1  digit 
  4637.             days have a leading 0).  YY is the last two digits of the year.  
  4638.             March 7, 1987 would be expressed as "03-07-87".
  4639.  
  4640. <file size> is the size of the file in bytes.
  4641.  
  4642. <file description> is a  description  of the  file whose  maximum length is
  4643.             between  40-46 characters,  depending of what CONFIG  parameter 
  4644.             198 was specified as.
  4645.  
  4646. <category code> is an  optional 3 character code  for the category the file
  4647.             belongs  to.   This code is included only if there is a  shared 
  4648.             FMS  directory and it is the same physical file as  the  upload 
  4649.             directory.
  4650.  
  4651. SYSOPS  can make it easier for callers to find what files are available  by 
  4652. classifying the files into categories.   RBBS-PC supports two fundamentally 
  4653. different ways of categorizing files:
  4654.     
  4655. 1.    A single shared master directory file XXX.YYY
  4656.  
  4657.       where  YYY is the directory extension and XXX is the name of the  FMS 
  4658.       directory.  A file entry in the master FMS directory is classified as 
  4659.       being in a category by putting a three character category code at the 
  4660.       end  of  the entry.   For example,  "GAM" might be the code  for  all 
  4661.  
  4662.                        Page 72 of 149
  4663. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4664.  
  4665.       games.
  4666.  
  4667. 2.    Physically  separate  multiple directory  files  XXX.YYY
  4668.  
  4669.       where YYY is the  directory extension  specified in  CONFIG parameter 
  4670.       189  and  XXX  is  the name  of  the  directory.   Callers  know  the 
  4671.       directories by name.  RBBS-PC knows the directories by where they are 
  4672.       located  and  the  fact that the file has  the  directory  extension.  
  4673.       There  can  be  as  many  directory files  as  desired.   A  file  is 
  4674.       classified  as in a category simply by physically listing it  in  the 
  4675.       directory.   For example,  the directory GAMES.DIR contains a list of 
  4676.       all games.
  4677.  
  4678.       The  physically distinct directories should be text files  satisfying 
  4679.       the following constraints:
  4680.  
  4681.            o  The file directories must have an extension of up to three
  4682.               characters.  The default extension is ".DIR".  The 8-character
  4683.               file name and extension can be anything you want as long as it
  4684.               is a valid DOS file name.
  4685.  
  4686.            o  Filename should start in column 1.
  4687.  
  4688.            o  Program size can be between columns 14 & 22.
  4689.  
  4690.            o  Date available for downloading must start in column 24 and
  4691.               should use MM-DD-YY or MM/DD/YY format.
  4692.  
  4693.            o  Description should start in column 34.
  4694.  
  4695. Callers  learn  what files are available by  listing  RBBS-PC  directories.  
  4696. With the exception of the upload directory, all RBBS directories must be in 
  4697. a  single drive/path specified by parameter 200 of CONFIG.   This is  where 
  4698. RBBS-PC  searches when a caller asks to list files by date,  substring,  or 
  4699. category.   The  upload directory will be viewable also if it is placed  in 
  4700. this  drive/subdirectory.     If  placed  elsewhere,   whether  the  upload 
  4701. directory  is  viewable  will be determined by the security  level  of  the 
  4702. caller.  The SYSOP specifies a minimum security to view the new uploads via 
  4703. CONFIG parameter 199.
  4704.  
  4705. If  the  SYSOP has chosen to use the RBBS-PC File Management System  (FMS), 
  4706. the  SYSOP  must  specify what categories are included in  the  master  FMS 
  4707. directory.   This  is  done  in a directory category  file  whose  name  is 
  4708. specified in CONFIG parameter 196.  The format of entries is as follows:
  4709.  
  4710.         "<category name>","<category codes>","<category description>"
  4711.  
  4712. There are three entries to a line, each enclosed in quotes and separated by 
  4713. a  comma.   The first entry is the name of the category.   This is how  the 
  4714. categories should be listed in the menu for the L)ist command and what  the 
  4715. caller must specify when asking for lists by category.   Most SYSOPs either 
  4716. number  the categories (1,2,3,etc.) or give them names that describe  their 
  4717. contents,  are  easy  to remember,  and short enough to type quickly  (e.g. 
  4718. GAMES,  UTILS, BASIC).
  4719.  
  4720. The  category codes are a list of all codes included in this  category  and 
  4721. has  the format "X1,X2,...,XN" where X1,X2,..,XN are the individual  codes.  
  4722. Each individual code must be separated from the others by a comma and there 
  4723. must  not  be any spaces inside the category codes.   A category can  be  a 
  4724. composite  consisting  of several categories.   For example,  if  "PRU"  is 
  4725. printer utilities,  "SCU" is screen utilities,  and "FU" is file utilities, 
  4726.  
  4727.                        Page 73 of 149
  4728. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4729.  
  4730. then the codes for the category "UTILS", consisting of all utilities, would 
  4731. be  "PRU,SCU,FU".
  4732.  
  4733. The  category  description is what RBBS-PC will print to the caller at  the 
  4734. beginning of a search in a directory.   For example,  the command to search 
  4735. directory GAMES for all entries with the string BAS will be prefaced by
  4736.  
  4737.            Searching directory GAMES for BAS - Games and Graphics
  4738.  
  4739. if "Games and Graphics" is the description with directory GAMES.
  4740.  
  4741. 14.1  Using a Single Master Directory
  4742. -------------------------------------
  4743. One  possible  extreme  in setting up RBBS-PC is to have  a  single  master 
  4744. directory and no other.  This implies that the FMS directory is the same as 
  4745. the upload directory.
  4746.  
  4747. Files  uploaded will have descriptions appended to the FMS directory  which 
  4748. will therefore ALWAYS BE CURRENT.   This does not mean that the new uploads 
  4749. will be listable.   The caller has the option to specify that the upload is 
  4750. private to the SYSOP, in which case a special category code will be written 
  4751. (***)  that requires SYSOP status to view.   Also,  if the category code is 
  4752. the  default  category code specified in the  configuration,  only  callers 
  4753. whose  security  level is higher than the minimum to view new  uploads  can 
  4754. view them.
  4755.  
  4756. A SYSOP can prevent callers from seeing new uploads by not allowing uploads 
  4757. to classify the uploads and by setting the minimum security to view be high 
  4758. or making the default category code be "***". 
  4759.  
  4760. The advantages of a using the FMS master directory are:
  4761.  
  4762. o  Callers will get the latest files listed first.
  4763.  
  4764.    The  files  in the FMS directory must be listed from oldest  to  newest.  
  4765.    This file is read by RBBS-PC in reverse order from the bottom up so that 
  4766.    the latest files get listed first.
  4767.  
  4768. o  Callers can download download as soon as they see what they want.
  4769.  
  4770.    Listings from the FMS directory terminate with the option to simply list 
  4771.    the files wanted to download.  The caller does not have to terminate the 
  4772.    listing first nor type "D" for download.   Callers can grab the files as 
  4773.    soon as they see them on their screen.
  4774.  
  4775. o  Listings resume where left off after downloading.
  4776.  
  4777.    Callers  need  not terminate a list just to  begin  downloading.   After 
  4778.    downloading in the midst of listing files, the listing will resume right 
  4779.    where it was before downloading.  The caller does not have to write down 
  4780.    all  the  files  they  want,  then get out  of  the  listing  and  start 
  4781.    downloading.
  4782.  
  4783. o  Date searches are very fast.
  4784.  
  4785.    As soon as a file is hit that has a date earlier than desired,  the date 
  4786.    search  terminates rather than needlessly continue to examine yet  older 
  4787.    files.  Also, the date search algorithm for FMS directory entries is 25% 
  4788.    faster than the date search in other directories.
  4789.  
  4790.  
  4791.  
  4792.                        Page 74 of 149
  4793. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4794.  
  4795. o  Classifying files is fast and easy.
  4796.  
  4797.    Simply  load  up  the directory into any favorite  full  screen  editor, 
  4798.    overtype the correct category code, and that's it:  one quick and simple 
  4799.    change does it.  Remember too, that uploaders can be given the option to 
  4800.    classify uploads,  in which case the SYSOPs work is limited to reviewing 
  4801.    the suggestion of the uploader and correcting mistakes. 
  4802.  
  4803. o  Complex classifications are easy to implement and change.
  4804.  
  4805.    Classifying  a category into its basic category immediately and  without 
  4806.    additional  work  causes  it  to  be included  in  all  other  composite 
  4807.    categories  that  include  it.   Hence it is simple and  easy  to  build 
  4808.    complex, interrelated categories.  The category scheme can be changed at 
  4809.    will simply by changing the directory category file.   And if the  basic 
  4810.    categories  need  to be changed,  such as a rename or splitting a  basic 
  4811.    category  into  two new ones,  this is as easy as a  global  search  and 
  4812.    replace in an editor.  Because creating useful categories does not cause 
  4813.    SYSOPs  a  lot  of  work,  they  can  afford  to  put  up  more  complex 
  4814.    classifications that help callers find the files they really want.  
  4815.  
  4816. 14.2  Reasons It May Not be Possible to Use a Single FMS Directory
  4817. ------------------------------------------------------------------
  4818. While  the  shared FMS directory has many  significant  advantages,  it  is 
  4819. obviously absolutely unusable in networks (such as CORVUS' Omninet) that do 
  4820. not  allowed  files that change in length to be shared.   Additionally  the 
  4821. shared  FMS directory has other limitations that may force SYSOPS to  elect 
  4822. not to use it at all or to use it with additional directories.
  4823.  
  4824. Physically  separate directory files that correspond to a single  directory 
  4825. subject  are read and displayed sequentially from the top to the bottom  in 
  4826. RBBS-PC.   The  only  restriction  placed on such a file is that  the  file 
  4827. entries  must  have the month,  day,  and year somewhere in  the  first  31 
  4828. columns in order for the N)ew command to work properly.
  4829.  
  4830. The  shared FMS directory is much fussier and will not work properly unless 
  4831. the following limitations are observed:
  4832.  
  4833. 1. Files must be stored in date order from oldest to newest.
  4834.  
  4835.    Common  practices this precludes are to store the files in  alphabetical 
  4836.    order by name,  or to group the files by sub-categories.   For  example, 
  4837.    each communication program has all its files together. 
  4838.  
  4839. 2. The only text in the file must be a file directory entry.
  4840.  
  4841.    Multiple  line header text,  or file descriptions can not be handled  by 
  4842.    the  File  Management System.   One line file entries are  all  that  is 
  4843.    supported.
  4844.  
  4845. 3. Only a single entry can be included for each file.
  4846.  
  4847.    A  common  practice  that will no longer work is to  have  a  multi-line 
  4848.    description of a file by leaving the name/date/size blank and continuing 
  4849.    the description on the following line.
  4850.  
  4851. 4  The file date must have a leading 0 for 1 digit parts and  must have the 
  4852.    month,  day,  and  year in only a specific column in order for the  N)ew 
  4853.    command to work properly.
  4854.  
  4855.  
  4856.  
  4857.                        Page 75 of 149
  4858. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4859.  
  4860. A shared FMS directory is perfectly compatible with additional directories.  
  4861. RBBS-PC simply looks first in its list of categories in FMS.  If a  request 
  4862. for  a  directory is not found there, it will then look  on  the  directory 
  4863. drive/path for the directory, if directory searches are not limited to  the 
  4864. FMS  via  CONFIG  parameter  192.  For example, the  SYSOP  can  include  a 
  4865. directory called NAME which is a master list of files sorted by file  name, 
  4866. as well as directories maintained in the FMS directory.
  4867.  
  4868.  
  4869. 15.0  SETTING UP ".BAT" FILES FOR RBBS-PC
  4870. -----------------------------------------
  4871. Many SYSOPS have set up batch files to invoke RBBS-PC automatically and  to  
  4872. re-invoke  RBBS-PC should there be a power outage.  These files range  from  
  4873. the  simple to the sublime in terms of complexity.   In a multiple  RBBS-PC 
  4874. environment,  these .BAT files CANNOT BE SHARED.   If you are going to exit 
  4875. RBBS-PC  and  transfer  control  to DOS remotely (either  via  the  SYSOP's 
  4876. function 7 or  via "doors"), it is necessary that:
  4877.  
  4878.      1.  RBBS-PC be executed from a batch file.
  4879.      2.  The batch file which is executing RBBS-PC contain
  4880.          an "IF" statement that checks for the existence of the
  4881.          batch file which RBBS-PC dynamically builds when
  4882.          either "doors" or SYSOP function 7 is invoked.
  4883.      3.  Within the "IF" statement, the logic exists such that the
  4884.          batch file dynamically built by RBBS-PC for the "doors"
  4885.          functions or SYSOP function 7 will be invoked if it exists.
  4886.  
  4887. As a very simple example, let us assume that:
  4888.  
  4889.      1.  the batch file that invokes RBBS-PC is named A:RBBS.BAT,
  4890.          and that is what was entered for option 84 of CONFIG.BAS,
  4891.      2.  the name of the batch file that RBBS-PC will build
  4892.          dynamically for either "doors" or SYSOP function 7 is
  4893.          A:RCTTY.BAT, and that is what was entered for option 83 and
  4894.      3.  the compiled version of RBBS-PC is being executed and is
  4895.          named RBBS-PC.EXE and is on the default disk drive.
  4896.      4.  you have elected to use the watchdog utility program.
  4897.      5.  COM1 was designated as the communication port to be used by
  4898.          RBBS-PC.
  4899.      6.  the CALLERS file is on drive A.
  4900.  
  4901. Then   A:RBBS.BAT  (in  a  non-MultiLink  environment)  would  contain  the 
  4902. following:
  4903.  
  4904.      WATCHDG1 OFF
  4905.      IF EXIST A:RBBSxF1.DEF DEL A:RBBSxF1.DEF
  4906.      IF EXIST A:RCTTY.BAT DEL A:RCTTY.BAT
  4907.      RBBS-PC x filename  (see note of values available for "x" and "filename")
  4908.      IF EXIST A:RBBSxF1.DEF GOTO EXIT
  4909.      IF EXIST A:RCTTY.BAT WATCHDG1 ON
  4910.      IF EXIST A:RCTTY.BAT A:RCTTY.BAT
  4911.      A:RBBS.BAT
  4912.      :EXIT
  4913.  
  4914.     NOTE:   When running RBBS-PC.EXE, RBBS-PC will check for the "x" in the 
  4915.     command  line  that invoked RBBS-PC.   The "x" on the execute  line  is 
  4916.     extremely  important to the correct operation of RBBS-PC.   If you  are 
  4917.     running  in a local area network environment then the "x" should  be  a 
  4918.     number  between "1" and "0" or a letter between "A" and "Z".  If "x" is 
  4919.     omitted from the command line, RBBS-PC will look for a file named RBBS-
  4920.     PC.DEF.   RBBS-PC  uses   the  parameter   in  the   command  line   to  
  4921.  
  4922.                        Page 76 of 149
  4923. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4924.  
  4925.     determine   the correct RBBSxPC.DEF file to use for  its  configuration 
  4926.     parameters  if  the second parameter is not  present.   If  the  second 
  4927.     parameter is present,  then RBBS-PC assumes this is the fully qualified 
  4928.     file name for the .DEF file that this node should use.
  4929.  
  4930. 16.0 THE USE OF RBBS-PC "DOORS"
  4931. -------------------------------
  4932. The  RBBS-PC "door" concept is that of allowing a SYSOP to set up a  "door" 
  4933. through which users can exit from RBBS-PC and enter other applications.  In 
  4934. previous versions of RBBS-PC (i.e.  prior to CPC12-3A) this had been called 
  4935. "windows"  but  because  of the confusion this created with  the  WINDOWing 
  4936. concepts of other software, it has been re-labeled "doors".
  4937.  
  4938. RBBS-PC's   "doors"  are nothing more than .BAT files that the  SYSOP   has  
  4939. created   to   allow  users  to  exit  from  RBBS-PC   and   enter    other  
  4940. applications (i.e.  databases, etc.).  The SYSOP is responsible for writing  
  4941. the  .BAT  files that users will be allowed to invoke.  Assuming that RBBS-
  4942. PC is brought up by DOS via an AUTOEXEC file that invokes RBBS.BAT,  a door 
  4943. called  EDIT exists that consists of a .BAT file (EDIT.BAT) which  contains 
  4944. the commands CTTY,  EDLIN,  and RBBS.BAT.  In order to exit RBBS-PC (either 
  4945. for  a  "door" or for the remote SYSOP's function 7) without the code  that 
  4946. the  BASIC  compiler  generates for you dropping the  remote  user,  it  is 
  4947. necessary  for the compiler that RBBS-PC is compiled under be "patched"  as 
  4948. described  in  Appendix  O otherwise the user  will  be  disconnected  upon 
  4949. returning to RBBS-PC.  Here  is pictorially what happens:
  4950.  
  4951.                         DOS
  4952.                          |
  4953.                         \|/
  4954.                     AUTOEXEC.BAT
  4955.                          |
  4956.                         \|/
  4957.                       RBBS.BAT
  4958.                          +--------->RBBS-PC.EXE
  4959.                                         |
  4960.                                        \|/
  4961.                                       "RUN"
  4962.                                         |
  4963.                            /            |
  4964.                          +-------------ends
  4965.                          | \
  4966.                        RBBS.BAT
  4967.                          |
  4968.                         \|/   
  4969.                     RCTTY.BAT<-----invokes door called "EDIT"
  4970.                          |
  4971.                         \|/
  4972.                      EDIT.BAT
  4973.                          +--------->EDLIN.COM
  4974.                                         |
  4975.                                         |
  4976.                      EDIT.BAT <--------ends
  4977.                          |
  4978.                         \|/
  4979.                      RBBS.BAT
  4980.                         \|/
  4981.                          +--------->RBBS-PC.EXE
  4982.                                         |
  4983.                                         |
  4984.                                    welcome back from door
  4985.                                    and RBBS-PC continues
  4986.  
  4987.                        Page 77 of 149
  4988. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  4989.  
  4990. A sample .BAT file for a program called TEST.EXE would look like this:
  4991.  
  4992.              CTTY COM1
  4993.              TEST.EXE
  4994.              CTTY CON
  4995.              RBBS-PC.BAT
  4996.  
  4997. and assumes:
  4998.  
  4999. 1.  That you are going to be using COM1.
  5000. 2.  That the program "TEST.EXE" is on the default drive.
  5001. 3.  That the batch file to invoke RBBS-PC is called "RBBS-PC.BAT."
  5002. 4.  The the batch file "RBBS-PC.BAT" is on the default drive.
  5003.  
  5004. CTTY METHOD -- The first command, "CTTY COM1", assigns most standard  input 
  5005. and  output  to  the communications port number  1.   The  second  command, 
  5006. "TEST.EXE",  invokes some test program that you write that reads  from  and 
  5007. writes to the standard input and output devices (i.e. the keyboard and  the 
  5008. screen).   The third command, "CTTY CON", reassigns the standard input  and 
  5009. output  back to the local PC's keyboard and screen whenever TEST.EXE  ends.  
  5010. The fourth command simply invokes another batch file named RBBS.BAT  (which 
  5011. presumably invokes RBBS-PC).
  5012.  
  5013. REDIRECT  I/O  METHOD  -- The first command,  "COMMAND  /C  TEST.EXE  <COM1 
  5014. >COM1",  starts a secondary command processor, loads TEST.EXE  and  assigns 
  5015. most standard input and output to the communications port number 1.  "Most" 
  5016. is  the  key  word here since PC-DOS does not have  a  way  of  redirecting 
  5017. "STANDARD ERROR" like it does for "STANDARD IN and STANDARD OUT".  To solve 
  5018. this  problem STDERR.COM is included as part of the basic  RBBS-PC  system.  
  5019. This  program  was provided by Quarterdeck Systems.  Run  "STDERR.COM"  one 
  5020. time only before you start RBBS-PC.  I suggest that you include it in  your 
  5021. AUTOEXEC.BAT  file.   This program works with all versions  of  PC-DOS  2.0 
  5022. through 3.2.
  5023.  
  5024. To first set up and test a door, DO NOT USE RBBS-PC.  Rather set up with
  5025.  
  5026. 1.   your  modem  on autoanswer (i.e. it answers the phone)
  5027. 2.   a .BAT file that redirects all input and output to the communications
  5028.      port that you are going to use using the IBM DOS CTTY command.
  5029. 3.   make sure the .BAT file invokes the program that you want to use as 
  5030.      a "door."
  5031. 4.   invoke the .BAT file that you set up in steps 2 and 3.
  5032. 5.   dial up the modem that you set in autoanswer mode in step 1.
  5033. 6.   get your "door" to work in this environment.
  5034.  
  5035. If you have problems with steps 1 through 6, call your friendly IBM support 
  5036. or  the vendor of the software that you want to use as a door and ask  them 
  5037. to  teach  you  about either their software or the CTTY command  and  their 
  5038. software's compatibility with the CTTY command.  
  5039.  
  5040. AFTER YOU HAVE YOUR DOOR WORKING, to set up a "door" for RBBS-PC, you must
  5041.  
  5042. 1.   list   the  name  of  the door (i.e.  the .BAT file which you  already
  5043.      got working and debugged and are responsible for setting up) in MENU5. 
  5044. 2.   indicated that  doors are  available  (via  CONFIG.BAS' option 81).
  5045.  
  5046. When a user invokes the D>oor command, RBBS-PC will:
  5047.  
  5048.     1.  List MENU5,
  5049.     2.  Check that the door that the user selects was specified in MENU5,
  5050.     3.  Check that the .BAT file exists (on the default drive),
  5051.  
  5052.                        Page 78 of 149
  5053. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5054.  
  5055.     4.  Dynamically create a .BAT file with the name specified
  5056.         by the SYSOP in option 83 of CONFIG.BAS that:
  5057.             a.  invokes the .BAT file of the window specified,and
  5058.             b.  re-invokes RBBS-PC after the user EXITS from the
  5059.                 "door" by invoking the .BAT file that the SYSOP
  5060.                 specified in option 84 of CONFIG.BAS.
  5061.  
  5062. The   purpose of "doors" is to allow for the "horizontal" growth of   RBBS- 
  5063. PC.   Clearly  RBBS-PC has about all that IBM's BASIC compiler can  handle.   
  5064. In  order  to not limit the application of RBBS-PC either to BASIC  or  the  
  5065. current  compiler,   "doors" was chosen as a mechanism to allow SYSOP's  to  
  5066. make available other features (i.e.   databases,  games,  etc.).  Hopefully  
  5067. with  RBBS-PC as a base,  the limitations on doors will only be the SYSOP's  
  5068. resourcefulness AND IBM'S DISK OPERATING SYSTEM (see chapter 18)!
  5069.  
  5070. The   design of the .BAT file that is to be used as a "door"  is   critical  
  5071. and  is  the responsibility of the SYSOP.   At the very minimum  it  should  
  5072. handle  the communication port I/O.   This can be done in a very  primitive  
  5073. way  using  the  DOS CTTY command and and a  utility  similar  to  WATCHDOG 
  5074. (written by Jim Reinders) that is described in chapter 19.
  5075.  
  5076. When  the file RCTTY.BAT is executed,  it executes another batch file  with 
  5077. the  name of that particular door.   DOS does not return to the  RCTTY.BAT.  
  5078. So, at the end of your doors batch file, you must reinvoke RBBS.BAT. 
  5079.  
  5080. The way that the doors menu works is it checks to see if the door name that 
  5081. you  wanted to open is in MENU5.   If it is in all capital letters  in  the 
  5082. RBBS file MENU5, it runs the batch file of that name with the extension
  5083. ".BAT".
  5084.  
  5085. In  general,  the program invoked as a "door" has to do is print everything 
  5086. to the Comm port and if you wish,  echo it to the screen.  The initial part 
  5087. of  any  "door" should read in the parameters passed to the "door"  in  the 
  5088. "node"  record  (see  line  numbers 43070 and  44000  of  RBBS-PC.BAS)  and 
  5089. establish the communications parameter appropriately.
  5090.  
  5091. Finally,  if  the preceding discussion of "doors" is a complete mystery  to 
  5092. you,  contact a SYSOP of an RBBS-PC that is using "doors" and ask for help.  
  5093.  
  5094. CHESSDOR  is one of the more professional "doors" that has been shared with 
  5095. me.  It was written by Bob Westcott and his data number is (603) 424-5497.
  5096.  
  5097. While I don't suppose it needs to be mentioned, if you call Bob and take up 
  5098. their  time  learning  about "doors" for personal  gain  (i.e.  you  are  a 
  5099. consultant  or  some company's employee being paid to write a "door")  have 
  5100. the courtesy to tell them.   The "user helping user" concept does NOT imply 
  5101. that  anyone  should  be  taken advantage.  Bob (or  anyone  else  who  has 
  5102. acquired  specialized knowledge) has the right to be remunerated for  their 
  5103. efforts if their knowledge is being used to further commercial purposes and 
  5104. they request it.    
  5105.  
  5106. The  "door"  concept  stretches IBM's DOS'  capabilities  and  requires  an 
  5107. extraordinary  knowledge of how both DOS, the DOS CTTY command,   and  .BAT 
  5108. files work. 
  5109.  
  5110. 17.0  THE SECURITY FEATURES OF RBBS-PC
  5111. --------------------------------------
  5112. RBBS has always been an open system designed for public use. A SYSOP should  
  5113. always  ASSUME that EVERY FILE ON THE PC running RBBS-PC CAN BE  DOWNLOADED  
  5114. AND/OR   DESTROYED.    However,   RBBS-PC  has  extensive  safeguards  that  
  5115. systematically  enhance security and privacy.  For example, RBBS-PC has the 
  5116.  
  5117.                        Page 79 of 149
  5118. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5119.  
  5120. logic  within  it's  code  to  prohibit  anyone  (including  SYSOP's)  from 
  5121. downloading the RBBS-PC "system" files described in section 6.1.   RBBS can 
  5122. still  be run as  a  wide-open system,   but the SYSOP has many  additional 
  5123. options   to  restrain  access.    These  security options make  RBBS  much 
  5124. more suitable for  private  and business use.
  5125.  
  5126. RBBS-PC's security is controlled by three things:
  5127.  
  5128.      1. the system configuration file (RBBS-PC.DEF),
  5129.      2. the  two external security files for
  5130.            a. passwords (PASSWRDS), and
  5131.            b. file downloads (FILESEC), and
  5132.      3. the users file (USERS) in which each user has an assigned 
  5133.         security level.
  5134.  
  5135. The   users  file is controlled by the SYSOP's  user  maintenance  function 
  5136. 5  as described in chapter 18.   To change a specific users security  level 
  5137. you select the M>odify option and then the S>ecurity option.   This  allows 
  5138. you  to  set  the security level for a user.   Users cannot set  their  own 
  5139. security levels.  Section 17.3 describes how to implement special passwords 
  5140. that  provide  special privileges to the groups that issue  them.   Section 
  5141. 17.4  describes how specific files,  groups of files,  or even  whole  disk 
  5142. volumes can have download security levels associated with them.
  5143.  
  5144. 17.1 RBBS-PC's Security Features
  5145. --------------------------------
  5146. Each  user has an assigned security level.    This is an integer   in   the 
  5147. range  -32,000  to +32,000.   There are then over 65,000 possible  security  
  5148. levels.    Each  command in RBBS-PC also has a security level assigned   to  
  5149. it.    Security  assignments  are  controlled  by the  SYSOP.    To  use  a  
  5150. command,   the   caller's  security level must be at least as high  as  the 
  5151. command's security  level.
  5152.  
  5153. The  SYSOP can assign a file or group of files both a security level and  a  
  5154. password.    To  download a file,  a caller must have a security level   at  
  5155. least as high as the file's and be able to give the file's password (if one 
  5156. is  present).    All  users must pass these   security   tests,   including  
  5157. anyone  with  SYSOP privileges.
  5158.  
  5159. Messages  can  now  be  assigned a password by  their  creator.  Then  only  
  5160. persons who are able to give that password can read  or  kill the  message.   
  5161. Messages  with  password protection will show <PROTECTED>   when   scanned.   
  5162. Callers  have  no way of distinguishing messages to   private   individuals  
  5163. and  to  groups  except by how they are addressed.    Persons  with   SYSOP 
  5164. privileges can read all messages.   Section 17.2's description of sending a 
  5165. message  to an AUTHORS SIG as an addressee with the password of  AUTHORONLY 
  5166. shows how to send a message to a special group.
  5167.  
  5168. Security  violations  are  logged  to  the  CALLERS  file.   These  include  
  5169. attempting  to  use functions without sufficient  security  clearance,  and  
  5170. failure to give required passwords.
  5171.  
  5172. RBBS-PC's default configuration is that of an "open" system.
  5173.  
  5174. RBBS-PC's security system provides the SYSOP with several choices on how to 
  5175. run RBBS-PC. The chief ones are as follows:
  5176.  
  5177. 1.  Change the bulletin board from an open system available to all callers,  
  5178. to   a  pre-registered  system available  only  to  specified  users.    To  
  5179. support  this option,   there is a function in the SYSOP's user maintenance 
  5180. option  5  to ADD users.
  5181.  
  5182.                        Page 80 of 149
  5183. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5184.  
  5185. 2.   A SYSOP can set up different "classes" of users by assigning different  
  5186. security levels to different users.   Concurrently the SYSOP would have  to    
  5187. assign  different security levels to different commands.   For example  new  
  5188. callers  might be permitted only to leave a comment,  read  bulletins,  and   
  5189. list  files  that  can be downloaded.  Or there might be a group  of  files   
  5190. assigned a security level that only members of a special interest group can  
  5191. download.
  5192.  
  5193. 3.   The  SYSOP  can  segregate the functions of the  bulletin  board  into  
  5194. different  groups based on a password.   A specific file or group of  files  
  5195. can  be  downloadable  only to those who  knew  the  password.   Similarly,  
  5196. messages  can be made open to everyone knowing the password but  closed  to  
  5197. everyone else.  This way there can be semi-private portions of the bulletin  
  5198. board.
  5199.  
  5200. 17.2 Examples of Uses for RBBS-PC's Security System
  5201. ---------------------------------------------------
  5202. Some  examples of how a SYSOP can tailor RBBS-PC using RBBS-PC's  extensive 
  5203. security features follow.
  5204.  
  5205. SPECIAL INTEREST GROUPS --  A special interest group (SIG) in a users group  
  5206. wishes  to  run  a RBBS for both the general public and  its  own  use.  An  
  5207. example would be an authors SIG for persons interested in publishing books  
  5208. and  articles  or developing commercial software.   A definite  need  would  
  5209. exist to be able to address messages to everyone in the SIG without  making  
  5210. them  open  to  every caller.   The SIG would establish the  convention  to  
  5211. password protect general SIG messages with the password AUTHORONLY,  and to  
  5212. address  them to AUTHORS SIG.
  5213.  
  5214. Another  example  would be a bulletin  board  devoted  to the  exchange  of 
  5215. software.    Allowing  persons to use the message  subsystem   would   only 
  5216. interfere with the primary purpose of  the  bulletin  board.  Therefore the 
  5217. SYSOP  removes  from  the  menu  the functions  for  leaving   and  reading 
  5218. messages.   To prevent a person from using the functions to leave or read a 
  5219. message  (even  though  they are not displayed),   the SYSOP assigns  these 
  5220. functions  a security level higher than a person who logs on normally would 
  5221. be assigned.  
  5222.  
  5223. Another  example of using RBBS-PC's security system would be to set  up  an 
  5224. agreed  upon temporary password such that when a user logs onto the  system 
  5225. they  can issue the password and get longer than normally allowed.   If the 
  5226. time  for  normal users is 30 minutes,  the SYSOP can set up  the   special  
  5227. password  SOFTEXCHANGE,  with  a maximum time on  of  150  minutes  instead 
  5228. of  the  normal  30.    By shifting over to  this  special  password  after  
  5229. logging in, members can get extra time if they need it. 
  5230.  
  5231. SOFTWARE SUPPORT --  An author of a freeware program offers RBBS support to  
  5232. all  persons  who register their copies and send a  contribution  of,  say,  
  5233. $35  per  copy.    The   registered user can get answers for  problems  and 
  5234. download   free   updates  and  sample  applications.    The  author  wants 
  5235. anyone  to  be  able  to  call just to find out about  the  service.    New 
  5236. callers get a security level  of  2  automatically assigned to them.   This 
  5237. allows  them to  use  only the  message subsystem.    The file subsystem is 
  5238. assigned  a security level of  7.    Contributors  are added by  the  SYSOP 
  5239. with a security level of 7 and a  pre-assigned password.   Except for SYSOP 
  5240. functions,  registered users have free  reign in the RBBS.
  5241.  
  5242. CLIENT  SUPPORT  --  A SYSOP on a public RBBS also works as   a  management  
  5243. consultant.  She has several associates who work with her on projects.  She  
  5244. needs to be able to send and receive messages from her associates which the  
  5245. general  public  should  not see.   So they agree  on  a  message  password  
  5246.  
  5247.                        Page 81 of 149
  5248. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5249.  
  5250. NOTPUBLIC. To support her different clients she also needs to leave private  
  5251. files  for downloading.   To each client she assigns a special  downloading   
  5252. password.    To  restrict downloading to just that client,   file names are 
  5253. put  in the file security file with the appropriate password.  Only persons 
  5254. with  the password can then download them.
  5255.  
  5256. PRIVILEGED  ELECTRONIC MAIL --  A company uses RBBS-PC to help support  its  
  5257. regional offices.  Only regional vice-presidents should be able to download  
  5258. certain management reports.   In file security these reports are assigned a  
  5259. high security level of 9, which only managers get.
  5260.  
  5261. 17.3 How to Implement the Password File
  5262. ---------------------------------------
  5263. CONFIG  allows  the SYSOP to designate the name of the file containing  the 
  5264. privileged group passwords to RBBS-PC.   Since this file is a normal  ASCII 
  5265. file,  the   SYSOP   can  use  any  text editor to create and  update   the  
  5266. file  it.   Put   the  information for each password on a single  line  and 
  5267. separate the fields with  commas.  It is important to note that EACH record 
  5268. of  both the password or  the file security file must contain  FOUR  fields 
  5269. (i.e. THREE commas).   For  the password file, the format is:
  5270.  
  5271. <password>,<security level>,<max time on>,<subscription period>
  5272.  
  5273. Note:  Max time is in units of minutes, subscription period is in number of 
  5274. days.
  5275.  
  5276. Two examples are:
  5277.  
  5278.    EXTEND,5,120,9999
  5279.    ,7,128,
  5280.  
  5281. If you are using COPY CON to create this file you "MUST" press F6 followed
  5282. by a Ctrl/Z at the end of the last entry prior to pressing carriage return.
  5283.  
  5284. A  user  who issued the password change function and supplied the  password  
  5285. EXTEND would have their security level temporarily set to 5 and be  granted 
  5286. an  elapsed  time of 120 minutes for the current session (the users elapsed 
  5287. time per day would still be whatever was set in option 15 of CONFIG), and a 
  5288. subscription period of 9,999 days.    A user who logged on with a  security 
  5289. level  of 7 would  automatically be granted 128 minutes on the system,  and 
  5290. the subscription period would be unchanged from whatever it was before.
  5291.  
  5292. 17.4  How to Implement the Security for Download Files
  5293. ------------------------------------------------------
  5294. CONFIG  allows  the SYSOP to designate the name of the file containing  the 
  5295. passwords  and  security levels that can be used to restrict  downloads  of 
  5296. specific  files,   volumes,  or  files  names  meeting  certain  "wildcard" 
  5297. criteria.   This file contains file names with download restrictions in the 
  5298. format:
  5299.  
  5300. <filename>, <security level>,<password>
  5301.  
  5302. Note:   Each line is a record and ends with carriage-return line-feed.  The  
  5303. only optional field is the password field for a filename.   By leaving  the  
  5304. password  field  empty,  no password is assigned to  a  file.   The  commas  
  5305. between  the fields are necessary.  YOU MUST HAVE TWO COMMAS ON  EACH  LINE  
  5306. even if you do not have a password associated with the file.
  5307.  
  5308.  
  5309.  
  5310.  
  5311.  
  5312.                        Page 82 of 149
  5313. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5314.  
  5315. Some examples would be:
  5316.  
  5317.    COMMAND.COM, 10,DOS
  5318.    PAYROLL.DAT, 99,BANKRUPT
  5319.    CALLGIRL.SEX,,ILLEGAL
  5320.    \FINANCE\STOCKS,100,
  5321.  
  5322. The  file COMMAND.COM could not be downloaded unless a user had a  security  
  5323. level equal to or greater than 10 AND could supply the password "DOS".  The  
  5324. file PAYROLL.DAT could not be downloaded unless a user had a security level  
  5325. equal to or greater than 99 AND could supply the password "BANKRUPT".   Any  
  5326. user   could  download  the  file CALLGIRL.SEX if  they  could  supply  the  
  5327. password   "ILLEGAL".    Any  user with a security level of 100  or  higher 
  5328. could  download   the file STOCKS in the DOS subdirectory  FINANCE  without 
  5329. supplying any password.
  5330.  
  5331. Additionally  "wild-card"  characters and drive designators can be used  to  
  5332. protect or restrict certain classes of files (by extension, by drive, etc.)  
  5333. from being downloaded.
  5334.  
  5335. Some examples would be:
  5336.  
  5337.    A:*.*,8,
  5338.    E:*.SEC,2,PW1
  5339.    A*.M*,0,GX3
  5340.    XY?X.*,9,3XG
  5341.  
  5342. All files on drive A would require the users to have a security level of  8  
  5343. in  order for a user to download them.   Any user who wanted to download  a  
  5344. file  whose extension was ".SEC" and was found to be on drive E would  have  
  5345. to  not  only  have  a security level of at least 2 but to  also  give  the  
  5346. password  PW1.   The third entry above would require a user who  wanted  to  
  5347. download  any  file on any drive with a prefix that began with "A"  and  an  
  5348. extension that began with "M" to have a security level of at least 0 and to  
  5349. enter the password GX3.   Finally,  the last entry above would require  any  
  5350. user  who  wanted to download any file on any drive whose four-letter  name  
  5351. began with "XY" and whose last letter was "X" with any extension to have  a  
  5352. security level of at least 9 and enter the password 3XG.
  5353.  
  5354. The  wildcards  "*"  and  "?" operate just like they do  in  DOS  with  one 
  5355. exception.   The  "?"  requires  a character.   In  DOS  the  name  "HAPPY" 
  5356. satisfies the file spec "HAPPY?" but it does not in RBBS.
  5357.  
  5358. To  get  exceptions to the general rule,  just put  the  exceptions  first.   
  5359. RBBS-PC's  file security search stops with the first applicable entry  that  
  5360. it  encounters.   For  example, 
  5361.  
  5362. 1.  if you want all files on the B  drive  to require the user to have a 
  5363.     security level of at least 3,
  5364.  
  5365. 2.  except that files on  the B drive with the extension ".SEC" would
  5366.     require the user to have a security level of at least 6,  and,
  5367.  
  5368. 3.  regardless of the disk drive that they were on, any file beginning
  5369.     with "MES" with an extension of ".SEC" would require the user to have
  5370.     a security level of at least 12 
  5371.  
  5372. you would enter the following into the file security file
  5373.    MES*.SEC,12,
  5374.    B:*.SEC,6,
  5375.    B:*.*,3
  5376.  
  5377.                        Page 83 of 149
  5378. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5379.  
  5380. Special Note: RBBS  is hard coded so that there are some files that  nobody  
  5381.               can  download -- not even the SYSOP.   These are RBBS-PC.DEF,  
  5382.               users, messages, callers, group password, comments,  the file 
  5383.               security,  and  backup files.   Similarly the   batch   files  
  5384.               that   control  RBBS and let the caller exit to DOS 2 can not 
  5385.               be  downloaded.    The default security file   provided  with 
  5386.               RBBS-PC is empty. 
  5387.  
  5388. 17.5  How to Implement the Security for RBBS-PC Commands
  5389. --------------------------------------------------------
  5390. RBBS-PC allows each command to be assigned it's own security level.  A user 
  5391. who  wishes  to  invoke  an RBBS-PC command must have  at  least  the  same 
  5392. security level as the command.   Let's assume that a SYSOP wants to set  up 
  5393. the following classes of users:
  5394.  
  5395.   Classification of Users                        Security Level
  5396. "Locked Out" Users                                     0
  5397. New Users (first time)                                 1
  5398. Normal Users                                           2
  5399. Users who can "view" a Conference                      3
  5400. Users who can enter Messages                           4
  5401. Users who can download files                           5
  5402. Users who can upload files                             6
  5403. Users who can Join a Conference                        7
  5404. Users who can do some SYSOP commands (Jr. SYSOP's)     8
  5405. Users who can enter a "door"                           9
  5406. Users who can enter all SYSOP commands  (Co-SYSOP's)  10
  5407.  
  5408. The  following  table  illustrates  one method of  assigning  each  RBBS-PC 
  5409. command it's own security level:
  5410.                                           Security Level
  5411.          Subsystem/Command              Assigned to Command
  5412.           Messages Subsystem
  5413.              A>nswer questionnaire............... 4
  5414.              B>ulletins.......................... 1
  5415.              C>omments........................... 1
  5416.              D>oor subsystem..................... 9
  5417.              E>enter message..................... 4
  5418.              F>iles system....................... 1
  5419.              G>oodbye............................ 0
  5420.              I>nitial welcome.................... 1
  5421.              J>oin a conference.................. 7
  5422.              K>ill messages...................... 4
  5423.              O>perator page...................... 1
  5424.              P>ersonal mail...................... 2
  5425.              R>ead messages...................... 2
  5426.              S>can messages...................... 1
  5427.              T>opic of messages.................. 1
  5428.              U>tilities (more)................... 1
  5429.              V>iew a conference.................. 3
  5430.              W>ho's on other nodes................3
  5431.  
  5432.           Files Subsystem
  5433.              D>ownload........................... 5
  5434.              G>oodbye............................ 0
  5435.              L>ist file directories.............. 4
  5436.              N>ew files.......................... 5
  5437.              S>earch directories for string ..... 1 
  5438.              U>pload a file...................... 1
  5439.              V>erbose listing of ARC file........ 1
  5440.              X>Expert mode on/off................ 1
  5441.  
  5442.                        Page 84 of 149
  5443. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5444.  
  5445.           Utilities Subsystem
  5446.              B>aud rate.......................... 1
  5447.              C>lock (time of day)................ 1
  5448.              F>ile transfer protocol............. 1
  5449.              G>raphics........................... 1
  5450.              L>ength of page..................... 1
  5451.              M>essage Margin..................... 1
  5452.              R>eview preferences................. 0
  5453.              S>tatistics of system............... 1
  5454.              T>oggle (line feeds, etc.).......... 1
  5455.              U>serlog............................ 2
  5456.  
  5457.           GLOBAL commands
  5458.              ?>What can be done.................. 1
  5459.              H>elp with a command................ 1
  5460.              Q>uit to another subystem or exit... 1
  5461.              X>Expert/novice toggle.............. 1
  5462.  
  5463.           SYSOP Subsystem
  5464.              1>List comments..................... 8
  5465.              2>List callers log..................10
  5466.              3>Recover a Message................. 8
  5467.              4>Erase comments.................... 9
  5468.              5>USERS maintenance.................10
  5469.              6>Toggle page bell.................. 8
  5470.              7>Exit to DOS 2.x or above.......... 9
  5471.  
  5472. 17.6  Beware of the "Trojan Horse!"
  5473. -----------------------------------
  5474. Despite RBBS-PC's security always remember that you should always assume:
  5475.  
  5476.        "EVERY FILE ON THE PC RUNNING RBBS-PC CAN
  5477.        BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
  5478.  
  5479. RBBS-PC's security system appears to be so fool-proof that some individuals 
  5480. have  resorted  to  uploading programs that appear to  do  one  thing,  but 
  5481. actually  do something else.   These "trojan horse" programs search all the 
  5482. disks that are connected to the PC that the program is running on for  such 
  5483. RBBS files as RBBS-PC.DEF or USERS.  The program then copies these files to 
  5484. an  innocuously named file that can be downloaded later when the person who 
  5485. uploaded  it logs onto the system again.   Since RBBS-PC.DEF  contains  the 
  5486. pseudonym  that the SYSOP can use to logon on remotely as the  SYSOP,  once 
  5487. the  user downloads a copy of it the user can then log on as the SYSOP  and 
  5488. do  just  about  anything including exiting to DOS and formatting  all  the 
  5489. disks on the system.   Similarly, the USERS file contains passwords and the 
  5490. security  levels  of everyone on your RBBS -- some of whom may  have  SYSOP 
  5491. privileges.  
  5492.  
  5493. You  can protect yourself against anyone logging on as you,  the SYSOP,  by 
  5494. not  allowing  anyone  to logon as the SYSOP remotely.   To  do  this  read 
  5495. chapter  11 regarding parameters 3 and 4.  You can protect yourself against 
  5496. unauthorized  access of the USERS file by simply not allowing any  user  to 
  5497. have SYSOP privileges.
  5498.  
  5499. Of course there is the "trojan horse" program that doesn't even bother with 
  5500. the above, but simply destroys all the disk files on all the disks that are 
  5501. connected to the PC that is running the program.   See the rest of  chapter 
  5502. 17 to see how you can protect yourself against such programs.
  5503.  
  5504.  
  5505.  
  5506.  
  5507.                        Page 85 of 149
  5508. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5509.  
  5510. 18.0 SYSOP FUNCTIONS
  5511. -------------------
  5512. The SYSOP functions are not available to the general user, and it should be  
  5513. noted  that  the  SYSOP should not use some of the  user  functions  either  
  5514. because  the code will not work correctly if called from the main  console,  
  5515. or  the  function  is  not  for use by  the  SYSOP.    Such  functions  are  
  5516. the  <O>perator,   <N>ewbaud,   <PW>  password,  and  file  upload/download  
  5517. using   XMODEM.    File  download using ASCII can be used to  "type"  files  
  5518. available  for download so they scroll across your screen.
  5519.  
  5520. To  enter  the  SYSOP mode press the ESC key locally or enter  the  special  
  5521. 'pass'  and  'word'  first  and last name  from  a  remote  terminal.
  5522.  
  5523. 18.1 SYSOP Commands Within RBBS-PC
  5524. ----------------------------------
  5525. The following operations can then be performed by entering a number only at  
  5526. the command prompt:
  5527.  
  5528. 1  - Type COMMENTS file.   The contents of the COMMENTS file is  displayed.   
  5529. This  file can also be inspected using a TYPE command from DOS.   It  is  a  
  5530. ASCII sequential text file.
  5531.  
  5532. 2 - Type CALLERS file.   A log is maintained of all persons who have called  
  5533. the  system.   This function will list the file showing the users name  and  
  5534. the  date  and  time  signed  on as well as the names  of  the  files  they 
  5535. upload/downloads  along with any security violation or errors  encountered.  
  5536. This  is a random access file of 64-byte records.
  5537.  
  5538. 3 - Resurrect a message.  This function will return a message that has been  
  5539. killed   to  an  active state.    If message file has been  "packed",   the  
  5540. killed  messages are no longer recoverable.   The function will ask for the 
  5541. message  number of the message to be recovered.
  5542.  
  5543. 4 - Erase the COMMENTS file.  This function will erase the comments file by  
  5544. killing the file.   Since the file is opened "APPEND," a new comments  file 
  5545. will be created the next time a user leaves a comment.           
  5546.  
  5547. 5 - USERS file maintenance.   The users file contains entries for each user  
  5548. registered  with the system.   This function permits the SYSOP to 
  5549.  
  5550. A)dd -- add a user to the USERS file.
  5551. L)st -- list the USERS file.
  5552. P)rt -- print the USERS file on the printer.
  5553. M)od -- modify a record in the USERS file.
  5554. S)can - scan each record in the USERS file for a particular string. 
  5555.  
  5556. In  <M>odify mode,  limiting editing of the users record in the USERS  file 
  5557. can be done.  The following subfunctions are available:
  5558.  
  5559.     D - Delete a user in the USERS file.
  5560.     F - Find a user in the USERS file.
  5561.     M - Return to the option 5 function prompt.
  5562.     N - Give the user a new password.
  5563.     P - Toggle the printer flag to print entries on the printer.
  5564.     Q - Quit and return to the main message prompt.
  5565.     R - Reset the users graphic mode.
  5566.     S - Set the security level of the user.  This can be used to lockout or
  5567.         grant  special privileges to the user.  
  5568.     # - locate any record number within the USERS file.
  5569.  
  5570.  
  5571.  
  5572.                        Page 86 of 149
  5573. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5574.  
  5575. In  <M>odify  mode  a record will be displayed followed  by  a  subfunction 
  5576. prompt  for action.   To get to a specific record the record number can  be 
  5577. entered  at the prompt and if valid that record will be displayed.   If the 
  5578. record number is invalid or an empty c/r is entered then the next record in 
  5579. the file will be displayed.
  5580.  
  5581. 6  - Toggles  the operator page bell on/off.   This overrides  the  "office 
  5582. hours" specified in the RBBS-PC.DEF file.
  5583.  
  5584. 7  - SYSOP  drop to DOS as a remote user.   If  the  SYSOP  has  logged  on 
  5585. remotely  and  is  running  RBBS-PC under  DOS   2.0   or   greater,   this  
  5586. function  will  dynamically  setup  a batch file  to  assign   the   SYSOPS 
  5587. terminal as the main console.  It then returns to DOS and if
  5588.         
  5589.        a.  CONFIG option 9 is equal to 1 with ringback equal to NO, and
  5590.  
  5591.        b.  RBBS-PC was invoked via a batch file, and if
  5592.  
  5593.        c.  that batch file checks for the batch file which RBBS-PC
  5594.            dynamically builds for option 7, and if
  5595.  
  5596.        d.  the batch file that invokes RBBS-PC executes the batch file
  5597.            that  RBBS-PC dynamically builds for option 7, and if
  5598.  
  5599. The  the SYSOP will then see the DOS prompt at the remote terminal and  can 
  5600. execute  whatever DOS commands or programs the CTTY command  support.   DOS 
  5601. will look for COMMAND.COM to be present on the disk drive you specified  in 
  5602. option 85.  Option 7, unlike "doors," loads in a copy of COMMAND.COM to run 
  5603. under the copy that was running RBBS-PC.   Also be sure to read chapter  19 
  5604. and  make  sure  that you THOROUGHLY understands the limitations  that  DOS 
  5605. places on you when this option is invoked.
  5606.  
  5607. Two   areas  of  caution are advised when using option  7  under  DOS   2.0 
  5608. or above.    First,   each  SYSOP  should  test what can be done  remotely.  
  5609. Software  that reads and writes directly to the video BIOS and does   other  
  5610. things  that  bypass  the  standard  input and output of DOS  simply  won't  
  5611. function   correctly.    Second,   you should be aware that  you are in DOS 
  5612. and  can return to RBBS-PC only by issuing the EXIT  command.    This  will 
  5613. return  to  the  batch file that was built dynamically by  RBBS-PC.    This 
  5614. file   will   then   continue executing  and is designed  to  reassign  the 
  5615. keyboard   as   the   console and then  re-invoke  RBBS-PC.    If  you  get 
  5616. disconnected while in DOS,   your  system will be locked up.    The console 
  5617. will  be assigned to your  communication  port  and your Hayes  modem  will 
  5618. have  dropped the  line   and  will have been set not to auto-answer.   The 
  5619. only way to re-boot the  system  is a manual power off/on sequence.
  5620.  
  5621. 18.2 SYSOP's Use of Function Keys
  5622. ---------------------------------
  5623. The   following  function  keys  (ten keys on the left  side  of a standard 
  5624. IBM  keyboard)   are  designed  to  give the SYSOP special  local  controls 
  5625. that   can   be  actuated  without entering the SYSOP mode (using  the  ESC 
  5626. entry key).   The current status of the function keys F3, F4, F6 and F7 are 
  5627. displayed on line 25.
  5628.  
  5629. F1 - Return to DOS.   This will terminate a session if a caller is on-line.   
  5630. In  a MultiLink environment when running RBBS-PC out of .BAT file that  re-
  5631. invokes  itself it is difficult for a SYSOP to get out of RBBS-PC and  exit 
  5632. to  DOS locally using F1.   To help,  RBBS-PC now creates a special file on 
  5633. the same location as the CALLERS file called RBBSxF1.DEF (where "x" is  the 
  5634. node  ID -- RBBS6F1.DEF for node six).   The .BAT file that would otherwise 
  5635. just re-invoke itself,  can now check for the existence of this file and if 
  5636.  
  5637.                        Page 87 of 149
  5638. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5639.  
  5640. it finds it simply terminate itself.
  5641.  
  5642. F2 - SHELL to DOS.  RBBS-PC remains resident but suspended in memory, the
  5643. user (if any) remains on-line and the local SYSOP is in DOS until the  EXIT 
  5644. command is issued (returning to within RBBS-PC just prior to having pressed 
  5645. the F2 key).  The users session is not terminated -- only suspended.
  5646.  
  5647. F3 - Printer toggle on/off.  This changes the printer on-line status.  When  
  5648. on-line    the    printer    will   print  each caller's   name    and  the   
  5649. file    names   uploaded/downloaded.    It   will   also  print  all  error 
  5650. messages   except  the  ERROR 68 used to check that a  file  exists.   This 
  5651. function should match  the  condition  of  the printer.   If the printer is 
  5652. going  to be  left  off,   the  PRINTER toggle should be set to off.   When 
  5653. the printer toggle is on, "LPT" will be displayed in positions 8-11 of line 
  5654. 25.
  5655.  
  5656. F4   - Operator page toggle.    This changes the status of "operator annoy" 
  5657. (i.e.  allows  the  SYSOP to be pageable) and  records  the change  in  the 
  5658. "node" record associated with the copy of RBBS-PC associated with  function 
  5659. key  4.    This  is  set   by  the  CONFIG  program  parameter  #  7  which 
  5660. establishes  the  SYSOP's office hours.   This can be used to override  and 
  5661. extend the "office hours" set up by CONFIG.BAS.   When the "operator annoy" 
  5662. toggle is on, "ANY" will be displayed in positions 5-7 of line 25.
  5663.  
  5664. F5 - Forces RBBS-PC to tell the modem to answer the phone.
  5665.  
  5666. F6  - SYSOP available.   This changes the status of operator available  and  
  5667. records   the change in the "node" record associated with the copy of RBBS-
  5668. PC associated with  function key 6.   This is useful if during your "office 
  5669. hours"  you  temporarily  don't  wish to  be  disturbed.   When  the  SYSOP 
  5670. available  toggle is on,  "AVL" will be displayed in positions 1-3 of  line 
  5671. 25.
  5672.  
  5673. F7  - SYSOP gets control of the system after current user logs  off.   When 
  5674. the "SYSOP next" toggle is on,  "SYS" will be displayed in positions  13-15 
  5675. of line 25.
  5676.  
  5677. F8  - Allows the SYSOP to grant an on-line user temporary SYSOP privileges.   
  5678. This is a toggle on/off switch.
  5679.  
  5680. F9 - SNOOP toggle.  This changes the SNOOP from the default value the first  
  5681. time  it  is pressed and toggles it on/off thereafter.  "SNOOP off"  clears  
  5682. the  screen  and  turns the cursor off.   It also keeps the download  beeps  
  5683. from  sounding.    The  SNOOP should be left off for normal use to keep the 
  5684. system  startup screen from "burning into" the monitor.    If the SNOOP  is 
  5685. left  on,  the  monitor should be physically turned off except when you are  
  5686. observing   the  RBBS in action.   Leaving the monitor off will not  affect 
  5687. performance of  the RBBS.
  5688.  
  5689. F10  - This is the forced chat switch.   It announces your forced chat  and  
  5690. who you are before turning the keyboard over to you and the  caller.    The 
  5691. ESC  key is used to exit Forced chat mode or to answer an "O>perator  page" 
  5692. request.  The F10 key will not function until a user logging on has reached 
  5693. the Main Menu.
  5694.  
  5695. END  - Logs off and locks out the current user that is on and  informs  the 
  5696. user that their presence is unacceptable.
  5697.  
  5698. PgUp  - Displays  all the information on a current user.   This display  is 
  5699. kept in the video page 1 (of the 0-7 pages).   The user activity is  always 
  5700. written to page 0 when SNOOP is active.  The user sees no interruption when 
  5701.  
  5702.                        Page 88 of 149
  5703. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5704.  
  5705. this occurs as his activity continues unaffected.  If you have a monochrome 
  5706. display there is no video pages 1 through 7 only page 0.  This will display 
  5707. on the monochrome screen the user information.
  5708.  
  5709. PgDn  - Return  to displaying video page 0 (i.e.  the page that  the  users 
  5710. activity is written to when SNOOP is on).
  5711.  
  5712. The SYSOP can also enter commands on the command prompt line while a caller  
  5713. is  on-line.   The command entered will cause the system to respond just as  
  5714. it would if the caller had entered the command.   This should be used  with 
  5715. caution because it could confuse a new system user -- users are often timid  
  5716. enough  without  knowing that big brother is actually watching  them!   Let 
  5717. callers  page you and then tell them that you can assist with  commands  if 
  5718. the get  into trouble.
  5719.  
  5720. UP  ARROW  -- The  keyboard "up arrow" key (i.e.  one  that  generates  the 
  5721. character with ASCII value 24 and which is the "8" key on the standard  IBM 
  5722. keyboard's  numeric  pad  that is at the left of the keyboard)  allows  the 
  5723. local  SYSOP to increment an on-line users security level by one each  time 
  5724. that it is pressed.
  5725.  
  5726. DOWN  ARROW -- The keyboard "down arrow" key (i.e.  one that generates  the 
  5727. character  with ASCII value 25 and which is the "2" key on the standard IBM 
  5728. keyboard's  numeric  pad that is at the left of the  keyboard)  allows  the 
  5729. local  SYSOP to decrement an on-line users security level by one each  time 
  5730. that it is pressed.
  5731.  
  5732. 19.0 DOS LIMITATIONS ON RUNNING PROGRAMS REMOTELY
  5733. -------------------------------------------------
  5734. 19.1 How to Get DOS to Monitor Carrier Detect
  5735. ---------------------------------------------
  5736. When accessing your PC via a communications port, the carrier detect signal 
  5737. tells the PC that you are on-line.  DOS's major limitation is that there is 
  5738. no  way  to  tell  DOS to monitor carrier detect  automatically   when  the 
  5739. standard input and output is transferred to a communication port (i.e.  via 
  5740. the  CTTY command).    RBBS-PC makes sure that the carrier is  not  dropped 
  5741. when  a user exits to DOS either via the "DOORS" option or using the remote 
  5742. SYSOP function 8.   However, it is the  SYSOP's  responsibility  to  insure  
  5743. that   whatever  programs are invoked after leaving RBBS-PC   perform   all  
  5744. the  necessary  functions  to maintain the communications session and, when 
  5745. exiting to return to RBBS-PC, that the carrier  is  "NOT"  dropped.
  5746.  
  5747. Most  application programs (i.e.  databases,  etc.) are not designed to  be 
  5748. controlled  by  users  accessing them from  a  communications  port.   This 
  5749. problem is solved when a function is invoked that:
  5750.  
  5751.   1.   Checks  to  see if the standard input and output console  have  been 
  5752. assigned to an auxiliary console such as a communication port.
  5753.  
  5754.   2.  If condition 1 is true, checks to see if the carrier detect signal is 
  5755. lost  by  intercepting  each  interrupt from  the  communication  port  the 
  5756. auxiliary console has been assigned to.
  5757.  
  5758.   3.  If BOTH conditions 1 and 2 are true, this function would cause DOS to 
  5759. switch back to the standard screen and keyboard for its operations AND then 
  5760. continue  processing  whatever batch file that had been executing  (if  one 
  5761. was).
  5762.  
  5763. Such a function (or device driver) would provide a "fail safe" feature that 
  5764. would  allow users to exit  RBBS-PC  to  use  whatever  other software  the 
  5765. SYSOP  chose to make  available  (i.e.   relational databases  for  complex 
  5766.  
  5767.                        Page 89 of 149
  5768. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5769.  
  5770. inquiries   -- bibliographic,    sports,    games,    etc.).    For   those 
  5771. anticipating  using  RBBS-PC's  "doors" or exiting to DOS when  you  are  a 
  5772. remote SYSOP,  you are strongly encouraged to consider using the "watchdog" 
  5773. utility  program  available on many bulletin board systems under such  file 
  5774. names  as  WATCHDOG.COM,   WATCHDOG.ASM,  WATCHDOG.DOC,  WATCHDOG.EXE  that 
  5775. monitors the communication port for you and reboots your system if  carrier 
  5776. drops.   If  you don't use a program like WATCHDOG and accidentally hang up 
  5777. while  in a "door" or in DOS,  you system will remain "hung" until you  can 
  5778. manually reboot it.
  5779.  
  5780. If  you  aren't technically inclined and want to use  RBBS-PC  "doors",   I 
  5781. suggest   you  consider   using   MultiLink   from   The   Software   Link,  
  5782. Incorporated  at (404)  998-0700.   While  MultiLink  costs  about $500 and 
  5783. neither RBBS-PC nor CPCUG have any connection with it,   it does provide  a 
  5784. mechanism  for  overcoming  DOS's inability to have programs  invoked  from 
  5785. remote users (release 2.0.6 or higher of MultiLink is required).   If  RBBS 
  5786. detects  that  MultiLink is present when a user exits to DOS  via  "doors", 
  5787. RBBS-PC   automatically passes control of the communications port that  the 
  5788. user  is on to MultiLink so that MultiLink can do the carrier monitoring on 
  5789. behalf of the application.
  5790.  
  5791. 19.2  How to Redirect Graphic Displays to Remote Users
  5792. ------------------------------------------------------
  5793. Programs that utilize the PC's built in video memory (such as the IBM BASIC 
  5794. interpreter or WordStar when it writes to the 25th line) need to have  such 
  5795. I/O redirected in a special way to a remote users terminal.   Additionally, 
  5796. if  the I/O is redirected to the communications port,  the terminal on  the 
  5797. other  end  must have a "cursor" that can be sent the  appropriate  command 
  5798. sequence  to  move  it around on the remote users  terminal  as  necessary. 
  5799. Without this capability, programs  made  available  through "doors" must be 
  5800. line-at-a-time  programs.   This  of  course  excludes   programs  such  as 
  5801. WordStar, Lotus/123 etc.
  5802.  
  5803. If  you  aren't  technically inclined and want to use RBBS-PC  "doors"  for 
  5804. applications that write directly to the PC's video hardware,  I suggest you 
  5805. consider   using   MultiLink   (see  chapter  19).   MultiLink  provides  a 
  5806. mechanism  for  overcoming DOS's inability to redirect graphics  to  remote 
  5807. users.   If RBBS detects that MultiLink is present when a user exits to DOS 
  5808. via  "doors",  RBBS-PC  automatically passes control of the  communications 
  5809. port to MultiLink and notifies MultiLink of the kind of MultiLink-supported 
  5810. terminal  to redirect the application's graphics to (presumably one with  a 
  5811. controllable cursor).
  5812.  
  5813. 20.0  CONFERENCING WITH RBBS-PC
  5814. -------------------------------
  5815. RBBS-PC is intended to be an open system.   The "conference" concept is one 
  5816. that  allows  either  anyone  who  can  leave  messages  (i.e.  a  "public" 
  5817. conference) or a pre-registered set of users (i.e.  a "private" conference) 
  5818. to  engage in a specialized dialogue.   To make a  "conference"  successful 
  5819. several guidelines should be followed rather rigorously:
  5820.  
  5821. 1.   Establish  a  "conference  chairman" (i.e.  a  SYSOP)  to  manage  the 
  5822. conference.   The SYSOP job is to add new users, delete old ones, make sure 
  5823. that  the  subject  and/or the agenda of the conference is  adhered  to  by 
  5824. killing messages that are inappropriate.  
  5825.  
  5826. 2.  Establish an "agenda" or list of subject areas for the conference.  One 
  5827. of  these  should be about new subject areas.   These areas should be  VERY 
  5828. narrow in scope.  The essence of any good conference is keeping it focused.  
  5829. Everyone  has been in at least one meeting/conference that was a  waste  of 
  5830. time  because  whoever was running the meeting/conference did not keep  the 
  5831.  
  5832.                        Page 90 of 149
  5833. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5834.  
  5835. dialogue centered on the subject or agenda. 
  5836.  
  5837. The  SYSOP  sets up a conference using CONFIG.BAS to pre-format up  to  two 
  5838. files  -- one for the messages to be associated with the conference and one 
  5839. for  the  users to be associated with a conference (if it  is  a  "private" 
  5840. conference).   The file name for a "conference" can be any seven characters 
  5841. that  are valid for a file name.   The eighth character must be a "M"  (for 
  5842. the  messages file associated the conference) or a "U" (for the users  file 
  5843. associated with the conference).   The SYSOP can then enter the  conference 
  5844. member's  names in the conference USERS file by using the SYSOP function 5.  
  5845. The  SYSOP  can  "join" any conference and need not be  in  any  particular 
  5846. conference's USERS file.
  5847.  
  5848. To set up a conference chairman,  the SYSOP need only
  5849.  
  5850.     1.  "Join" the conference,
  5851.     2.  Use SYSOP function 5 to enter the name of the user who is to
  5852.         be the conference chairperson into the conference's USERS file.
  5853.     3.  Set that users security level in the conference's USERS file
  5854.         to a security level that can issue the SYSOP function 5.  This 
  5855.         will allow the conference chairman to add users.
  5856.  
  5857. Remember  that   users  can  join a "private" conference  only  if  already 
  5858. registered in that conference's USERS file.  Any registered user can join a 
  5859. "public"  conference.   When  someone issues the J>oin command  to  join  a 
  5860. conference,  their standard security level is temporarily superseded by the 
  5861. security  level  associated with their user name within  that  conference's 
  5862. USERS file if it is a "private" conference.
  5863.  
  5864. For  example,  a  normal user might be given the security required  to  add 
  5865. users  to the conference USERS file for a particular conference since  they 
  5866. are  the conference chairman.   When a user joins the conference  of  which 
  5867. they are chairman,  their normal security is bumped up so that they can add 
  5868. users to the USERS file of that particular "private" conference.   When the 
  5869. same  user  exits  that conference,  their security level  is  returned  to 
  5870. normal.   If they should subsequently join another conference in which they 
  5871. are  not chairman,  they would be unable to add users to that  conference's 
  5872. USERS  file.  Other  than  a conference chairman,  none of  the  conference 
  5873. members should be given any higher security than they otherwise enjoy as  a 
  5874. regular RBBS-PC users.
  5875.  
  5876. There are no limits on the number of conferences within RBBS-PC.   Here are 
  5877. some examples of some conference names:
  5878.  
  5879. Conference   Conference Message   Conference Users   Conference Welcome
  5880.    Name          File Name            File Name          File Name
  5881.  
  5882.   FORSALE      FORSALEM.DEF           FORSALEU.DEF       FORSALEW.DEF
  5883.   GAMES        GAMESM.DEF             GAMESU.DEF         GAMESW.DEF
  5884.   FINANCE      FINANCEM.DEF           FINANCEU.DEF       FINANCEW.DEF
  5885.   SYSOPS       SYSOPSM.DEF            SYSOPSU.DEF        SYSOPSW.DEF
  5886.   CLONES       CLONESM.DEF            CLONESU.DEF        CLONESW.DEF
  5887.   RELIGON      RELIGONM.DEF           RELIGONU.DEF       RELIGONW.DEF
  5888.   PHILOSP      PHILOSPM.DEF           PHILOSPU.DEF       PHILSPW.DEF
  5889.   BBS          BBSM.DEF               BBSU.DEF           BBSW/DEF
  5890.  
  5891. If a continuity of dialogue is to be achieved,  it is advisable to keep the 
  5892. conference  "focused" -- either by keeping the number of conference members 
  5893. limited  to  thirty persons or less or by keeping the subject  matter  very 
  5894. narrow (i.e.  the IBM PC's 30MB disk size limitation).  Another interesting 
  5895. thing  about  "private" conferences as implemented within RBBS-PC  is  that 
  5896.  
  5897.                        Page 91 of 149
  5898. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5899.  
  5900. they are not "public" and, therefore, are even more protected by the first, 
  5901. fourth, and fifth amendments.
  5902.  
  5903. 21.0 RBBS-PC QUESTIONNAIRE FACILITIES
  5904. -------------------------------------
  5905. RBBS-PC  provides  a  highly sophisticated  script-driven  capability  that 
  5906. allows  a SYSOP to ask new users questions or questions of users when  they 
  5907. say G>oodbye.   To ask new users questions the file RBBS-REG.DEF must exist 
  5908. on the same disk  as the WELCOME file.  To ask questions of users when they 
  5909. say  G>oodbye  the file EPILOG.DEF must exist on the same disk as  the  the 
  5910. WELCOME file.   The  SYSOP can set up the script in such a way as to  raise 
  5911. or lower a new users security level based on the answers.  Contained within 
  5912. the script is the file to which the answers are to be written.  
  5913.  
  5914. RBBS-PC  will only activate the corresponding script files if  they  exist, 
  5915. otherwise the functions are bypassed.
  5916.  
  5917. The  script files should be created with your favorite editor.   During the 
  5918. testing phases both EDLIN and WordStar were used and both worked correctly.
  5919.  
  5920. All "script" files are formatted the same and contain support for:
  5921.  
  5922.      o Branch to labels
  5923.      o Display lines
  5924.      o Display line and get response
  5925.      o Response validation (Multiple choice)
  5926.      o Numeric validation
  5927.      o Forward and backward branching
  5928.      o Raising and lowering user security level
  5929.      o Aborting the questionnaire
  5930.  
  5931. The  first line in every script file must contain the file name  where  the 
  5932. responses  to  the script will be appended as the first parameter  and  the 
  5933. maximum  security  level  a users security level can be raised  to  as  the 
  5934. second parameter..  This file can be any valid text type file.  The rest of 
  5935. each script file must contain valid script commands.  Script commands are 1 
  5936. character in length and must be in column 1 of each script line.
  5937.  
  5938. Following is a list and description of valid script commands:
  5939.  
  5940.      :  A colon indicates a label command
  5941.      *  An asterisk indicates a display data command
  5942.      ?  A question mark indicates a display and wait for response command
  5943.      =  An equal sign indicates a multiple choice branch command
  5944.      >  A greater than symbol indicates a goto command
  5945.      +  A plus sign indicates a raise security level command
  5946.      -  A minus sign indicates a lower security level command
  5947.      @  An "at" sign means to abort questionnaire and do not write results
  5948.  
  5949. :  Colon (Label command)
  5950.    This  command  is used to provide labels that can be branched to from  = 
  5951.    and > commands.
  5952.    i.e.     :QUESTION1
  5953.  
  5954. *  Asterisk (Display data command)
  5955.    This command is used to send data to the user.
  5956.    i.e.     *In order to better serve those who pass this way, I would 
  5957.  
  5958. ?  Question mark (Display data and get response)
  5959.    This command is used to send data to the user and wait for a   response.  
  5960.    The  user will be required to input a response.   The ENTER key alone is 
  5961.  
  5962.                        Page 92 of 149
  5963. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  5964.  
  5965.    an invalid response.  No other checks are made.
  5966.    i.e.     ?DO YOU OWN YOUR OWN PC? (Y/N)
  5967.  
  5968. =  Equal sign (Response validation - Multiple choice)
  5969.    This  command  is  used  in conjunction with  the  ?  command  and  must 
  5970.    immediately  follow the ?  command for which it applies.   This  command 
  5971.    allows  for  checking/editing  of  single  character  responses  to  the 
  5972.    preceding  ?  command and allows branch logic to be exercised  based  on    
  5973.    the  response  given.   Multiple = commands must be coded  on  the  same    
  5974.    line.  The format follows:
  5975.  
  5976.    =AXXXXXXXXX=BYYYYYYYYY= ZZZZZZZZZZ
  5977.  
  5978.    =  Indicates that a single character comparison value follows
  5979.    A  Is the comparison value
  5980.    X  Is the label to branch to if the response is "A"
  5981.    =  Indicates that a single character comparison value follows
  5982.    B  Is the comparison value
  5983.    Y  Is the label to branch to if the response is "B"
  5984.    =  Indicates that a single character comparison value follows
  5985.       (SPACE) This is a special comparison value that is always used as the
  5986.       last comparison value and means "INVALID" response given
  5987.    Z  Is the label to branch to if an invalid response is given
  5988.  
  5989.    Maximum line length is 255 characters and the last = on the line "MUST"
  5990.    have a comparison value of " " (SPACE).
  5991.  
  5992.    i.e.     :QUESTION1
  5993.             ?Do you run a BBS system.  (Y/N)
  5994.             =YQUESTION2=NQUESTION2= QUESTION1E
  5995.             :QUESTION1E
  5996.             *Please respond Y or N
  5997.             >QUESTION1
  5998.             :QUESTION2
  5999.  
  6000.    There  is an additional format for the = command,  where the  comparison 
  6001.    value  of # (Pound sign) is used.   This is used as a numeric check  and 
  6002.    encompasses 0-9,  (),  - and space.   This format requires two  entries.  
  6003.    The first is to test for numerics and the second is the invalid response 
  6004.    branch label.
  6005.    i.e.    =#QUESTION3= QUESTION2E
  6006.  
  6007. >  Greater than sign (Forward and backward branching)
  6008.    This  command  is  used to branch to specific labels within  the  script 
  6009.    file.
  6010.    i.e.     >QUESTION4
  6011.  
  6012. +  Plus sign (Raise user security level)
  6013.    This  command will add the value in columns 2-6 to the  default security 
  6014.    level given new users or the current security level of old users.  
  6015.    i.e.    +5
  6016.  
  6017. -  Minus sign (Lower user security level)
  6018.    This  command  will  subtract the value in columns 2-6  to  the  default 
  6019.    security given new users or the current security level of old users.
  6020.    i.e.     -1
  6021.  
  6022.  
  6023.  
  6024.  
  6025.  
  6026.  
  6027.                        Page 93 of 149
  6028. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6029.  
  6030. @  At sign (Abort questionnaire)
  6031.    This command will terminate the questionnaire and NOT write the response
  6032.    to the output file.
  6033.    i.e.     :QUESTION1
  6034.             ?Have you answered the questionnaire before.  (Y/N)
  6035.             =YQUESTION2=NQUESTION2= QUESTION1E
  6036.             :QUESTION1E
  6037.             *Please respond Y or N
  6038.             >QUESTION1
  6039.             :QUESTION2
  6040.             @
  6041.  
  6042. The following is a sample of an RBBS-PC "ASKUSER" script file:
  6043. "RBBS-REG.DAT",6
  6044. *IN ORDER TO BETTER SERVE THOSE WHO PASS THIS WAY, I WOULD LIKE YOU TO
  6045. *HELP ME BY ANSWERING A FEW QUESTIONS.
  6046. *
  6047. *THANK YOU,
  6048. *
  6049. *PLEASE ANSWER THE FOLLOWING QUESTIONS:
  6050. :QUESTION1
  6051. ?DO YOU OWN YOUR OWN PC? (Y/N)
  6052. =YQUESTION2=NQUESTION2= QUESTION1E
  6053. :QUESTION1E
  6054. *PLEASE RESPOND Y OR N
  6055. >QUESTION1
  6056. :QUESTION2
  6057. *HOW OFTEN DO YOU CALL BBS SYSTEMS?
  6058. *(A) = LESS THAN 1 TIME PER WEEK
  6059. *(B) = 1-5 TIMES PER WEEK
  6060. *(C) = 5-10 TIMES PER WEEK
  6061. *(D) = MORE THAN 10 TIMES PER WEEK
  6062. ?ENTER ONE OF THE ABOVE
  6063. =AQUESTION3=BQUESTION3=CQUESTION3=DQUESTION3= QUESTION2E
  6064. :QUESTION2E
  6065. *PLEASE ENTER A,B,C OR D!
  6066. >QUESTION2
  6067. :QUESTION3
  6068. ?ARE YOU A SYSOP OF A CURRENTLY OPERATING BBS SYSTEM? (Y/N)
  6069. =YQUESTION4=NQUESTION6= QUESTION3E
  6070. :QUESTION3E
  6071. *PLEASE RESPOND Y OR N
  6072. >QUESTION3
  6073. :QUESTION4
  6074. *WHICH BBS SYSTEM DO YOU RUN
  6075. *(A) = RBBS-PC
  6076. *(B) = HOSTCOM
  6077. *(C) = BBS-PC
  6078. *(D) = FIDO
  6079. *(E) = PC-HOST
  6080. *(F) = OTHER
  6081. ?PLEASE ENTER ONE OF THE ABOVE
  6082. =AQUESTION6=BQUESTION6=CQUESTION6=DQUESTION6=EQUESTION6=FQUESTION5= QUESTION4E
  6083. :QUESTION4E
  6084. *PLEASE ENTER A, B, C, D, E OR F
  6085. >QUESTION4
  6086. :QUESTION5
  6087. ?ENTER THE NAME OF THE BBS SYSTEM THAT YOU RUN
  6088. :QUESTION6
  6089. *THANK YOU FOR TAKING THE TIME TO ANSWER THESE FEW QUESTIONS.
  6090. *I HOPE YOU ENJOY RBBS-PC.
  6091.  
  6092.                        Page 94 of 149
  6093. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6094.  
  6095. 22.0 RBBS-PC's EXTERNAL PROTOCOL DRIVERS
  6096. ----------------------------------------
  6097. RBBS-PC attempts to nurture the maximum amount of diversity and  innovation 
  6098. as possible.   For this reason the source code has always been distributed.  
  6099. The  free exchange of information,  on of RBBS-PC's two primary  objectives 
  6100. requires  that  communications  occur.   With PC's this  communications  is 
  6101. electronic   and  electronic  communications  fosters  a  multiplicity   of 
  6102. "protocols" in which data can be exchanged.   In order to provide advocates 
  6103. of  specific  protocols  a  means of  adding  their  particular  flavor  of 
  6104. communications protocol to RBBS-PC a standard interface has been created.
  6105.  
  6106. Before calling protocol drivers, RBBS-PC will perform the following:
  6107.  
  6108.     1. verify that the file exists if the file is to be downloaded.
  6109.     2. verify that the file name requested is  valid if the file is
  6110.        to be uploaded.
  6111.     3. pass  the  communications  port  to  the  vendor's  protocol-
  6112.        handling routine with the file opened and carrier detect on.
  6113.  
  6114. RBBS-PC  will  call  the  external protocol drivers either  via  the  SHELL 
  6115. command in BASIC or via a .BAT file.
  6116.  
  6117. 22.1  Parameters passed to a protocol driver.
  6118. ----------------------------------------------
  6119. RBBS-PC sets up a command string for a protocol driver as follows:
  6120.  
  6121.               drive:path transfercommand nodeid
  6122.  
  6123. The  drive  and  path are where the protocol driver is to  be  found  (i.e. 
  6124. C:\RBBS\KERMIT.EXE).  The nodeid is the RBBS-PC node number (1 through 36).  
  6125. The transfer command has the following format:
  6126.  
  6127.         protocol [-x arg  [-x arg]...[-yyy]..]]
  6128.  
  6129. where  protocol is the name of the .EXE or .COM file that is to be  invoked 
  6130. as  the protocol driver,  x is an option that requires an argument and y is 
  6131. an option with no argument.
  6132.  
  6133. The arguments passed are:
  6134.  
  6135. 1.)  Send or Receive indicator:
  6136.        -s filename   send a file named "filename"
  6137.             or
  6138.        -r filename   receive a file named "filename"
  6139.  
  6140. 2.)  Communications port indicator:
  6141.        -l comm port  where "comm port" is COM1 or COM2
  6142.  
  6143. 3.)  Protocol indicator:
  6144.        protocol      where protocol = A for ASCII
  6145.                                       X for XMODEM (checksum)
  6146.                                       C for XMODEM (crc)
  6147.                                       Y for YMODEM
  6148.                                       I for IMODEM
  6149.                                       G for YMODEM G
  6150.                                       W for XMODEM (windowed)  
  6151.                                       N for KERMIT
  6152.  
  6153.  
  6154.  
  6155.  
  6156.  
  6157.                        Page 95 of 149
  6158. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6159.  
  6160. 4.)  Communication speed indicator:
  6161.         -b baud      where baud = 300
  6162.                                   450
  6163.                                  1200
  6164.                                  2400
  6165.                                  4800
  6166.                                  9600
  6167.                                 19200
  6168.  
  6169. 5.)   Maximum window size indicator:
  6170.         -m size      where s is an integer between 1 and 31
  6171.                              (if not present the protocol driver uses its
  6172.                               own default window size)
  6173.  
  6174. 6.)   Parity indicator:
  6175.          -p n        where n indicates no parity 8 data bits 1 start bit
  6176.            or                and one stop bit
  6177.          -n
  6178.  
  6179. To  send  a file named "A:\UTIL\TEST.BAS" using the protocol  driver  named 
  6180. PCKERMIT.EXE for KERMIT located on drive C:  in the DOS subdirectory  named 
  6181. \RBBS at 9600 baud on COM2 with the window size set to 31 the command would 
  6182. be:
  6183.  
  6184.        C:PCKERMIT -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p n -m 31
  6185.  
  6186. To  send  the  same  file in the same way using  the  protocol  driver  for 
  6187. windowed XMODEM protocol driver named WXMODEM.EXE which can be found at the 
  6188. same place as the KERMIT protocol driver the command would be:
  6189.  
  6190.        C:WXMODEM -s A:\UTIL\TEST.BAS -l COM2 -c -b 9600 -p W -n
  6191.  
  6192. 22.2  Parameters Returned by a Protocol Driver
  6193. ----------------------------------------------
  6194. All  protocol drivers are expected to return a file named XFER-xx where the 
  6195. value for xx is the node ID (1 to 36).
  6196.  
  6197. This  file may be either of two formats.   It may consists of four  records 
  6198. with each record having the parameters (i.e.  parm1) surrounded by a double 
  6199. quote (i.e. ") and the record ending with a carriage return.  An example of 
  6200. this type of format would be:
  6201.  
  6202.         "parm1"
  6203.         "parm2"
  6204.         "parm3"
  6205.         "parm4"
  6206.  
  6207. The  second  format that this file may have is a single  record  with  each 
  6208. parameter  beginning and ending with a double quote (i.e.  ") separated  by 
  6209. commas  and  the record ending with a carriage return.  An example of  this 
  6210. type of format would be:
  6211.  
  6212.         "parm1","parm2","parm3","parm4"
  6213.  
  6214. The  only parameter of significance to RBBS-PC is the first letter  of  the 
  6215. fourth parameter.   If it begins with an upper-case "S",  RBBS-PC considers 
  6216. the  file to have been successfully transferred.   The other parameters may 
  6217. be anything the protocol driver might find useful (i.e.  file  name,  size, 
  6218. date/time).
  6219.  
  6220.  
  6221.  
  6222.                        Page 96 of 149
  6223. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6224.  
  6225. 22.3  The Protocol Drivers Available for RBBS-PC
  6226. ------------------------------------------------
  6227. RBBS-PC currently has the following protocol drivers available for RBBS-PC:
  6228.  
  6229.     22.3.1 Columbia University's KERMIT Protocol
  6230.     --------------------------------------------
  6231.     PCKERMIT.EXE is supplied by The Source as a public service and consists 
  6232.     of  sliding  window KERMIT protocol.  The  development  of  "windowing" 
  6233.     within  the KERMIT architecture (i.e.  Super KERMIT) was funded by  The 
  6234.     Source and implemented by Larry Jordan and Jan van der Eijk.
  6235.  
  6236.     The "windowing" is simply the number of blocks that can be sent  before 
  6237.     a  positive  acknowledgment is needed.   In packet  switching  networks 
  6238.     (such  as  Telenet and PC-Pursuit) where it takes a one-byte "ack"  the 
  6239.     same amount of time to travel back to the sender as a whole  block,  it 
  6240.     is  obvious that the efficiency is in reducing such handshaking between 
  6241.     the sender and the receiver as much as possible.
  6242.      
  6243.     KERMIT has many similarities with RBBS-PC.   It's source code is freely 
  6244.     available  to  all,  yet it is not in the "public  domain."    Columbia 
  6245.     University holds the copyright and maintains the Kermit protocol.  Like 
  6246.     RBBS-PC, Columbia University allows KERMIT to be passed along to others 
  6247.     and "ask only that profit not be your goal, credit be given where it is 
  6248.     due, and that new material be sent back to us so that we can maintain a 
  6249.     definitive and comprehensive set of KERMIT implementations".
  6250.  
  6251.     PCKERMIT.EXE  is  not  a terminal program.  It  simply  implements  the 
  6252.     Kermit protocol, including the sliding window extension.  It will  work 
  6253.     with  older  "Kermit Classic" implementations as  well,  via  automatic 
  6254.     negotiation  between the two Kermit programs.  PCKERMIT.EXE runs  as  a 
  6255.     "one-shot"  execution  then  returns to  RBBS-PC.   PCKERMIT  does  not 
  6256.     establish   a  carrier  with  a  remote  system.   The  connection   is 
  6257.     established by RBBS-PC, RBBS-PC then drops to DOS without disconnecting 
  6258.     and  invokes  PCKERMIT.EXE.  Since the documentation  supplied  by  The 
  6259.     Source with PCKERMIT.EXE explains the characters that are displayed and 
  6260.     the  keyboard control available to the local SYSOP during  KERMIT  file 
  6261.     transfers, it is not replicated here.
  6262.  
  6263.     22.3.2 YMODEM, YMODEMG, and IMODEM
  6264.     ----------------------------------
  6265.     QMXFER.COM  is  supplied by The Forbin Project as a public service  and 
  6266.     supports five different protocols -- XMODEM (checksum), XMODEM (cylical 
  6267.     redundancy check),  YMODEM, YMODEMG, and IMODEM. QMXFER was implemented 
  6268.     by John Friel III,  author of QMODEM.  YMODEM and YMODEMG are protocols 
  6269.     designed  by  Chuck Frosberg.   IMODEM is a protocol designed  by  John 
  6270.     Friel.   The  later two are designed to work when the link between  the 
  6271.     two  modems  is "error free" (i.e.  both modems have the  MNP  protocol 
  6272.     built  in)>  QMXFER.COM runs as a "one-shot" execution then returns  to 
  6273.     RBBS-PC.   QMXFER  does not establish a carrier with a  remote  system.  
  6274.     The  connection  is established by RBBS-PC,  RBBS-PC then drops to  DOS 
  6275.     without disconnecting and invokes QMXFER.COM
  6276.  
  6277.     22.3.3 Windowed XMODEM
  6278.     ----------------------
  6279.     WXMODEM.COM  is supplied by The Forbin Project as a public service  and 
  6280.     supports the window XMODEM protocol designed by Pete Boswell.  Like all 
  6281.     of  RBBS-PC's  protocol  drivers,  WXMODEM.COM  runs  as  a  "one-shot" 
  6282.     execution  then  returns  to RBBS-PC.   WXMODEM does  not  establish  a 
  6283.     carrier  with a remote system.   The connection is established by RBBS-
  6284.     PC,  RBBS-PC  then  drops  to DOS  without  disconnecting  and  invokes 
  6285.     WXMODEM.COM
  6286.  
  6287.                        Page 97 of 149
  6288. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6289.  
  6290. 23.0 UPLOADED FILE TIPS
  6291. -----------------------
  6292. If someone uploads a BASIC file to you, and it will not list on your screen  
  6293. using the DOS TYPE command,  you should go into BASIC,  load the file, list  
  6294. it,   then resave it using the same name.  If when you try to load the file 
  6295. into  the  BASIC interpreter you get a `Direct Statement In   File'   error 
  6296. printed  on  the screen,  the BASIC file has a line without a line  number.  
  6297. This will not interfere  with  the  resaving of the file unless the  direct 
  6298. statement  is at the beginning of the  file;   if the file lists  properly, 
  6299. then  the direct statement is at the end of the  file.    If the file  does 
  6300. not  list properly,  then the direct statement is at  the beginning of  the 
  6301. file and has to be removed using a text editor (EDLIN)  before the  program 
  6302. can be loaded and run.
  6303.  
  6304. Do  not attempt to save a BASIC file after getting the `Direct Statement In  
  6305. File'  error  during loading without listing the program  first;  you  will  
  6306. destroy the file otherwise.  If you wish to load an uploaded file (a  BASIC  
  6307. program or any other text file) into a text editor to change the content of  
  6308. the  file,  you  will first have to first add line feeds to the end of each  
  6309. line  (after  each  carriage return).
  6310.  
  6311. Finally,   every  SYSOP should assume that any uploaded file him that   can  
  6312. be executed (i.e.  .BAS,  .COM,  .EXE) has the capability of destroying all  
  6313. the  files available to the PC it is executed on.  This may be because  the  
  6314. documentation  is in error,  the program was executed incorrectly,  or  the  
  6315. program   was designed to be malicious.   It behooves every SYSOP  to  know 
  6316. what   every  uploaded file does in order to protect not only  the  RBBS-PC 
  6317. system, but its users.
  6318.  
  6319. 24.0 DUE WARNING AND SYSOP'S LEGAL LIABILITY
  6320. --------------------------------------------
  6321. While no definitive case-law or legislation exists defining the liabilities 
  6322. of System Operators, every SYSOP should assume that they are as responsible 
  6323. for  their own actions when running an electronic bulletin board system  as 
  6324. they  would  be for any other action as a citizen of the United States  who 
  6325. chooses  to exercise their right to freedom of speech.   One of the  unique 
  6326. features  of RBBS-PC is that users have to OVERTLY register  themselves  -- 
  6327. even  when  the RBBS-PC is "open" to the general public.   This gives  each 
  6328. SYSOP the opportunity to give every user "due notice" and require each user 
  6329. to  actively  acknowledge such notice.   For some SYSOP's it is simply  the 
  6330. rules of their board.   For me,  the following is what I use as the text in 
  6331. my NEWUSER file:
  6332.  
  6333.     "Welcome   to   the  world of RBBS-PC!    Before  continuing   you  
  6334.     should  understand  your  responsibilities  as  a  RBBS-PC   user.  
  6335.     Specifically they are:
  6336.  
  6337.     1.    Actively   encourage  and  promote the free   exchange   and  
  6338.     discussion   of information,  ideas and opinions, except when  the 
  6339.     content  would  compromise  the national security  of  the  United 
  6340.     States;   violate  proprietary  rights,  personal   privacy,    or  
  6341.     applicable   state/federal/local laws and  regulations   affecting 
  6342.     telecommunications; or constitute a crime or libel.
  6343.  
  6344.     2.    Use   your  real  name and fully  disclose   any   personal,  
  6345.     financial,   or commercial interest when evaluation  any  specific 
  6346.     product or service.
  6347.  
  6348.     3.    Adhere  to  these rules and notify me immediately  when  you  
  6349.     discover  any violations of the rules.
  6350.  
  6351.  
  6352.                        Page 98 of 149
  6353. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6354.  
  6355.     FURTHER  every  user explicitly acknowledges that all  information  
  6356.     obtained from this RBBS-PC is provided "as is" without warranty of 
  6357.     any  kind,   either  expressed or  implied,   including,  but  not 
  6358.     limited  to the implied warranties of merchantability and  fitness 
  6359.     for  a particular purpose and that the entire risk  of  acting  on 
  6360.     information  obtained from this  RBBS-PC,  including   the  entire 
  6361.     costs of all necessary remedies,  is with those who choose to  act 
  6362.     on  such  information  and  not  the  operator  of  this  RBBS-PC.  
  6363.     Register if you agree."
  6364.  
  6365. This  won't  protect you from prosecution if you allow your RBBS-PC  to  be 
  6366. used for criminal activities.  However, it does serve to cause each user to 
  6367. voluntarily  and OVERTLY accept my "rules" and allows me to sleep better at 
  6368. night  knowing that I have given "due notice."  My own personal  philosophy 
  6369. is  to  actively  pursue  and prosecute ANY user on my  board  who  I  find 
  6370. engaging  in  what  appears  to  be  a  violation  of  the  above   notice.  
  6371. Essentially,  if you are going to run an RBBS-PC open to the general public 
  6372. as  I do,  your board's reputation and standards must be able to  withstand 
  6373. public scrutiny.  If you don't feel you can maintain such standards, either 
  6374. don't run a RBBS-PC or run a very, very private one (and be sure to put all 
  6375. your assets in the wife's and kid's names).
  6376.  
  6377. Since I'm not a lawyer,  if you want a legal opinion on your liabilities as 
  6378. a  SYSOP your only source of legal advice should be an attorney licensed to 
  6379. practice  in your state.   Just remember it may not be the best advice  and 
  6380. that  the  legal  liabilities regarding the  operation  of  bulletin  board 
  6381. systems is unclear.
  6382.  
  6383. 25.0 COMPILING AND LINKING RBBS-PC
  6384. ----------------------------------
  6385. RBBS-PC  source code is distributed along with the executable program RBBS-
  6386. PC.EXE.   It  is NOT necessary to recompile or re-link RBBS-PC in order  to 
  6387. utilize  RBBS-PC.   However,  some users may wish to modify the source  and 
  6388. recompile it.   This section is intended for those hardy few who choose  to 
  6389. do so.   Remember only what is distributed is supported -- anything else is 
  6390. strictly yours to debug!
  6391.  
  6392. RBBS-PC's  source code is compilable by the IBM BASIC Compiler Version  2.0 
  6393. as  released  by  IBM  and with the IBM updates  to  it  through  11/22/85.  
  6394. Subsequent  patches released by IBM for the Version 2.0 compiler appear  to 
  6395. disable the compiler to the point where it can not compile RBBS-PC.   RBBS-
  6396. PC's  source code is compilable by Microsoft's QuickBASIC Compiler  -- both 
  6397. version  1.0  and version 1.02.   However Microsoft's  QuickBASIC  Compiler 
  6398. version  1.01  appears  to  be  unable  to  compile  RBBS-PC.   Microsoft's 
  6399. QuickBASIC  Compiler  version  2.0 generates faster code than  the  earlier 
  6400. versions  but  has some bugs of its own that cause strange results  if  you 
  6401. have  ANSI.SYS option activated (from RBBS-PC's CONFIG) or if you  use  the 
  6402. PgUp or PgDn keys as described.   QuickBASIC Compiler Version 2.01 seems to 
  6403. have corrected the problems encountered with 2.0.
  6404.  
  6405. 25.1 Compiling CONFIG and RBBS-PC
  6406. ---------------------------------
  6407. Version  CPC15-1B  of RBBS-PC's .EXE file is distributed after having  been 
  6408. compiled  with  QuickBASIC  Version 2.01 compiler that had  the  DTR  patch 
  6409. described  in  Appendix R applied to it. 
  6410.  
  6411. CONFIG.EXE is generated from compiling with multiple BASIC source files  -- 
  6412. CNFG-VAR.BAS, CONFIG.BAS, CNFG-SUB.BAS. The output of the multiple compiles 
  6413. (CONFIG.OBJ  and  CNFG-SUB.OBJ) generate multiple .OBJ input files  to  the 
  6414. LINK step that create CONFIG.EXE.
  6415.  
  6416.  
  6417.                        Page 99 of 149
  6418. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6419.  
  6420. The  BASIC compiler command to compile for all but the  QuickBASIC  version 
  6421. 2.0 compiler should be:
  6422.  
  6423.      BASCOM  CONFIG.BAS,, /E/O/C:2048;
  6424.      BASCOM  CNFG-SUB.BAS,, /E/O;
  6425.  
  6426. The command for QuickBASIC version 2.0 is slightly different and should be:
  6427.  
  6428.      QB  CONFIG.BAS /E /O /C:2048;
  6429.      QB  CNFG-SUB.BAS /E /O;
  6430.  
  6431. Compiling  CONFIG  requires that CNFG-VAR.BAS be in the sub-directory  from 
  6432. which they are being compiled.
  6433.  
  6434. RBBS-PC.EXE is generated from compiling with multiple BASIC source files -- 
  6435. RBBS-VAR.BAS,  RBBS-PC.BAS,  RBBSSUB1.BAS, RBBSSUB2.BAS.  The output of the 
  6436. multiple  compiles (RBBS-PC.OBJ,  RBBSSUB1.OBJ,  and RBBSSUB2.OBJ) generate 
  6437. multiple .OBJ input files to the LINK step that, along with some other .OBJ 
  6438. files, create RBBS-PC.EXE.
  6439.  
  6440. The BASIC compiler command for all but the QuickBASIC version 2.0  compiler 
  6441. should be:
  6442.  
  6443.      BASCOM  RBBS-PC.BAS,, /E/C:4096/O;
  6444.      BASCOM  SB1151A.BAS,, /X/C:4096/O;
  6445.      BASCOM  SB2151A.BAS,, /O;
  6446.  
  6447. The command for QuickBASIC version 2.0 is slightly different and should be:
  6448.  
  6449.      QB  RBBS-PC.BAS /E /C:4096 /O;     
  6450.      QB  RBBSSUB1.BAS /X /C:4096 /O; 
  6451.      QB  RBBSSUB2S.BAS /O;
  6452.  
  6453. If you are utilizing the IBM BASIC compiler Version 2.0,  you will need  to 
  6454. also use the /N parameter when compiling.
  6455.  
  6456. Compiling  RBBS-PC requires that RBBS-VAR.BAS be in the sub-directory  from 
  6457. which they are being compiled.
  6458.  
  6459. The  BASIC compiler library routines have a NASTY bug in them for those who 
  6460. would  like to allow KERMIT protocol to be used,  exit to DOS as  a  remote 
  6461. SYSOP, or exit to a "door."
  6462.  
  6463. If you re-compile RBBS-PC and desire to utilize any of these three  RBBS-PC 
  6464. functions,  YOU  MUST  patch  your  compiler's libraries  as  described  in 
  6465. Appendix R.!
  6466.  
  6467. 25.2 LINKing CONFIG 
  6468. -------------------
  6469. CONFIG.OBJ can be LINKed to produce CONFIG.EXE with the command
  6470.  
  6471.      LINK CONFIG+CNFG-SUB+RBBSUTIL+xxxCOM,CONFIG.EXE,,C:/E;
  6472.  
  6473. assuming  that all the required files are on the C drive.  
  6474.  
  6475. NOTE:  xxxCOM  must be replaced with GWCOM if using the QuickBASIC compiler 
  6476.        and  IBMCOM if using the IBM Version 2.0 compiler.  Also,  if  using 
  6477.        the QuickBASIC compiler you may also want to link with the .OBJ file 
  6478.        that accompanies the compiler called PREFIX.
  6479.  
  6480.  
  6481.  
  6482.                        Page 100 of 149
  6483. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6484.  
  6485. 25.3 LINKing RBBS-PC
  6486. --------------------
  6487. RBBS-PC.OBJ  can  be LINKed to produce RBBS-PC.EXE with the LINKer  command 
  6488. (all on one line):
  6489.  
  6490. LINK RBBS-PC+RBBSSUB1+RBBSSUB2+xxxCOM+QBARCV2+ANSI+XMODEM+RBBSML+BDRIVEC2+
  6491.      PC-NET+10NET+RBBSUTIL+RBBSDV+PREFIX,,,/MAP/LINE;
  6492.  
  6493. NOTE:  xxxCOM  must be replaced with GWCOM if using the QuickBASIC compiler 
  6494.        and IBMCOM if using the IBM Version 2.0 compiler.  PREFIX is only
  6495.        required if linking with Microsoft's QuickBASIC compiler output.
  6496.  
  6497.        XMODEM.OBJ and RBBSUTIL.OBJ are different .OBJ from earlier 
  6498.        versions OF RBBS-PC.  MAKE SURE YOU HAVE THE CORRECT ONE!  
  6499.  
  6500. The above LINK command assumes that all the necessary .OBJ files are on the 
  6501. default drive and the necessary .LIB files are on the "C" drive.
  6502.  
  6503. 26.0 LIMITED LICENSE
  6504. --------------------
  6505. The   RBBS-PC software is copyrighted but A LIMITED LICENSE IS GRANTED  and  
  6506. each user is free to use and share it under the following conditions:
  6507.  
  6508.     1. You may NOT distribute RBBS-PC in modified form.
  6509.     2. You may NOT charge a fee for RBBS-PC itself,  and
  6510.     3. You MUST retain all references to the copyright and authors.
  6511.  
  6512. Please  distribute the original version (or update thereof) of the program.   
  6513. If  you have changes please distribute them using the conventions described 
  6514. in  section 1.4.    This is necessary so that  future  revisions   can   be 
  6515. easily added to the system without requiring the  entire  program.
  6516.  
  6517. Please do NOT resequence the program.   All revisions will be as files that  
  6518. replace  the  base program or update thereof and the existing line  numbers 
  6519. will be referenced when describing new fixes and enhancements.
  6520.  
  6521. 27.0 LIMITED WARRANTY
  6522. ---------------------
  6523. The  RBBS-PC  program  is provided "as is" without warranty  of  any  kind,  
  6524. either  expressed  or implied,   including  but not limited to the  implied  
  6525. warranties  of merchantability and fitness for a particular  purpose.   The  
  6526. entire  risk as to the the quality and performance of the program  is  with  
  6527. the  user,   and  should  the program prove defective,  the user  and   not  
  6528. the   authors will assume the entire cost of all necessary remedies.   None 
  6529. of  the  authors  warrant that the functions contained in the program  will 
  6530. meet   any   users'    requirements   or  that   the   operation   of   the  
  6531. program   will    be  uninterrupted or error-free.    In  any  case,   each 
  6532. author's entire liability  will  be  limited  to the total amount of  money 
  6533. the  individual  user  paid  directly and explicitly to each author for the 
  6534. use of RBBS-PC.
  6535.  
  6536. 28.0 UPGRADING FROM CPC14-1D TO CPC15-1B
  6537. ----------------------------------------
  6538. Before  upgrading from CPC14-1D to CPC15-1B,  you should follow these  five
  6539. steps:
  6540.  
  6541.    1.    Create backup files of all your current USERS, MESSAGES, and
  6542.          RBBSxPC.DEF files.
  6543.  
  6544.    2.    Print out all the options you selected on your current RBBSxPC.DEF
  6545.          file.
  6546.  
  6547.                        Page 101 of 149
  6548. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6549.  
  6550.  
  6551.    3.    Delete your current RBBSxPC.DEF file.
  6552.  
  6553.    4.    Run CONFIG, version 3.02 and re-enter the options you had selected.
  6554.  
  6555.    5.    If you have a Hayes 2400 modem make sure that you use CONFIG
  6556.          to initialize the Hayes 2400 default settings.
  6557.  
  6558. PLEASE  NOTE!!!!!  ---- CPC15-1B has a new CONFIG.BAS (version  3.02)  that 
  6559. replaces  the  older  versions of CONFIG.BAS and the .DEF files  that  they 
  6560. created!  While  CPC14-1D's  .DEF file (from CONFIG.BAS version  2.20)  may 
  6561. appear  to work, you will get unusual results.  CPC15-1A's .DEF file  (from 
  6562. CONFIG.BAS version 3.01) is compatible with 15-1B.  Some of the new options 
  6563. in  15-1B  are not available in version 3.01 of CONFIG -- only  in  version 
  6564. 3.02!
  6565.  
  6566. If you wish to convert to the new File Management System (FMS),  follow the 
  6567. documentation  included with the utilities in CNVDIR.ARC.   If you  haven't 
  6568. run  RBBS-PC,  prior to receiving 15-1B,  there is no need to use the files 
  6569. contained in CNVDIR.ARC.
  6570.  
  6571. 29.0 PROPOSED AGENDA FOR A NATIONAL SYSOP CONFERENCE
  6572. ----------------------------------------------------
  6573. As  PC's  (IBM's  and others)  become  more  common in homes  and  offices,  
  6574. their  use as vehicles  for  information  exchange continues to grow  -- as 
  6575. so  eminently  attested  by the astounding growth  of  RBBS-PC  itself!   A 
  6576. national   meeting  of  SYSOP's  could foster this  growth  in  information 
  6577. exchange;  assist   in  focusing on the issues (regulatory and   otherwise)  
  6578. that  foster/inhibit  this growth;  and act as a forum for  new  ideas.   A  
  6579. national   meeting,   perhaps  sponsored by the Capital PC  User  Group  or 
  6580. even  a consortium of other not-for-profit PC user groups could be held .
  6581.  
  6582. SYSOP's   are  not only in the big corporations but also in  the   millions  
  6583. of     small    businesses,     non-profit    associations,     educational  
  6584. institutions  in which the RBBS-PC concept has found  a  home.    They  are 
  6585. often  the decision influencers in their organizations or area  -- as  U.S. 
  6586. Robotics  discovered when they introduced their Courier 2400 baud modem  so 
  6587. successfully.  As  I expect most who would attend would be paying their own  
  6588. way,   the   first   conference  would  probably  consist of   that   small  
  6589. "band   of  brothers"  who  have  set  up boards out of  the  intensity  of  
  6590. their  own  commitment.  
  6591.  
  6592. My   own   vision of such a conference is sort of   a   1980's   electronic  
  6593. "Woodstock"   -- if   for no other reason  because  of  the  very   "volks" 
  6594. nature  of  SYSOPS.    It  has  been a long time since  there  has  been  a 
  6595. conference "of the people, by the people, and for the people."
  6596.  
  6597. What follows is a hypothetical agenda of what might be of interest at  such 
  6598. a  conference.   The agenda consists of a "technical" and a "non-technical" 
  6599. (management?) set of sessions as follows:
  6600.  
  6601.                  "technical sessions"         "non-technical sessions"
  6602.  
  6603.  8:30 - 10:00    RBBS-PC Record Layouts       How to Copyright Software --
  6604.                  (CALLERS, USERS, and         its protection and penalties
  6605.                   MESSAGES files)             for violation of copyrights.
  6606.  
  6607. 10:30 - 12:00    Multi-Port RBBS-PC           1986 Computer Privacy Act and
  6608.                  Systems -- actual            "computer trespass" laws at
  6609.                  experiences.                 the State level.
  6610.  
  6611.  
  6612.                        Page 102 of 149
  6613. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6614.  
  6615. 12:00 - 1:30           Luncheon with a nationally known guest
  6616.                           speaker (any suggestions?) 
  6617.  
  6618.  1:30 - 3:00     RBBS-PC "doors" and          Business Applications of 
  6619.                  "doorware" explained.        Bulletin Board Systems
  6620.  
  6621.  3:30 - 5:00     Modems -- beyond 2400        The use of RBBS-PC in local,
  6622.                  baud.                        State, and Federal agencies.
  6623.  
  6624.  5:00 - 6:30           CONNECT TIME! -- Vendor Presentations
  6625.                                and Receptions
  6626.  
  6627. If   you  are with a manufacturer or organization that might be  interested  
  6628. in   sponsoring  such a meeting,   work with your organization to  make  it  
  6629. happen!  If  in  the  normal course of your business  contacts  you  see  a  
  6630. potential  sponsor  of  such  a conference,  persuade  them  to  look  into  
  6631. being  a sponsor.   I would be glad to talk with anyone about going forward 
  6632. with this project.
  6633.  
  6634. If  you are interested in participating, write me at the following address:
  6635.  
  6636.          Tom Mack
  6637.          National SYSOP Conference
  6638.          10210 Oxfordshire Road
  6639.          Great Falls, Virginia 22066
  6640.  
  6641. Please indicate 
  6642.  
  6643.           1.  Which four sessions you would attend (in order
  6644.               of preference).
  6645.  
  6646.           2.  Any additional sessions you would be interested in.
  6647.  
  6648.           3.  Who would you want as a guest speaker at the 
  6649.               luncheon.
  6650.  
  6651.           4.  Where you would like such a conference held
  6652.               from among the following five locations:
  6653.  
  6654.                        a.) Boston, Mass.
  6655.                        b.) Chicago, Ill.
  6656.                        c.) Houston, Texas
  6657.                        d.) San Francisco, Calif.
  6658.                        e.) Washington, D.C.
  6659.  
  6660.           5.  Your mailing address.
  6661.  
  6662.           6.  Telephone numbers you can be reached at (both voice
  6663.               and data).
  6664.  
  6665.           7.  And if you would be willing to be a "worker" as 
  6666.               well as an attendee -- i.e. stuff envelopes, keep
  6667.               the mailing list, make hotel arrangements, etc.
  6668.  
  6669. My  greatest  fear is not that there will be fifty of us -- but that  there 
  6670. will be 2,000 of us!  Whatever happens, it should be fun. 
  6671.  
  6672. 30.0  RBBS-PC, THE  LARGEST  SOFTWARE  HOUSE IN THE WORLD
  6673. ---------------------------------------------------------
  6674. RBBS-PC'S  "Userware" concept is founded on the principle stated in section 
  6675. 1.0  -- "software which is shared becomes better than it was."  Relying  on 
  6676.  
  6677.                        Page 103 of 149
  6678. RBBS-PC CPC15-1B, Copyright 1987 by D. Thomas Mack         June 7, 1987     
  6679.  
  6680. Federal  copyright protection,  it is my firm belief that RBBS-PC's  source 
  6681. code  can be distributed without the risk of "loss of ownership"  (i.e.  it 
  6682. becoming "public domain").   In fact I think that all software  (commercial 
  6683. and non-commercial) should be distributed as both compiled/executable files 
  6684. and with their source code.   With one exception, RBBS-PC's copyrights have 
  6685. never  been  violated  -- this  is  due  more  to  the  fact  that  RBBS-PC 
  6686. enthusiasts  are  ever-vigilant of RBBS-PC's copyrights rather than due  to 
  6687. any  lack  of  attempts to "sell" RBBS-PC or  RBBS-PC  look-alikes  to  the 
  6688. unsuspecting public.
  6689.  
  6690. Incorporating  these new features and ideas into each new release of  RBBS-
  6691. PC,  making  sure that upward compatibility with earlier version of RBBS-PC 
  6692. exists,  as well as maintaining RBBS-PC's copyright,  are all things that I 
  6693. accept the responsibility for.   However,  it is RBBS-PC's "support  staff" 
  6694. (i.e.  all  those  who  enhance RBBS-PC and share such  enhancements)  that 
  6695. continues to make RBBS-PC a unique experiment in PC software.
  6696.  
  6697. No one should feel that the possibilities for RBBS-PC have even begun to be 
  6698. exhausted.   In fact,  I am absolutely certain that even as this is written 
  6699. innovative  enhancements are being created for RBBS-PC that I haven't  even 
  6700. mentioned.   It  is my sincerest hope that if RBBS-PC continues to  succeed 
  6701. within  the  IBM  PC industry in becoming  the  "bulletin-board  standard," 
  6702. software vendors will begin examining the reasons for RBBS-PC's success and 
  6703. come to understand that 
  6704.  
  6705. 1.  The best form of software support is user support;
  6706.  
  6707. 2.  The best source for software enhancements are from it's users;
  6708.  
  6709. 3.  The best software continually adopts itself to users needs; and
  6710.  
  6711. 4.  The best way to minimize software development is to distribute
  6712.     source code;
  6713.  
  6714. Each  RBBS-PC  system operator has the opportunity to affect  what  RBBS-PC 
  6715. becomes in the future.   Many already have.   RBBS-PC continues to grow and 
  6716. expand because hundreds (and quite possibly thousands) of SYSOP's spend the 
  6717. time  and trouble not only to modify RBBS-PC to meet their needs,  but also 
  6718. to  share  these modifications with others.   I do not know  of  any  other 
  6719. software  for  the  IBM  PC  that has such a  vast  number  of  programmers 
  6720. supporting it.   In section 1.3,  I name more than 70 such individuals  and 
  6721. acknowledge  that there are a lot more!   With the structured design  RBBS-
  6722. PC's  source code that the new BASIC compilers allowed,  even more  RBBS-PC 
  6723. system  operators  are invited to contribute.   Take the  time!   Make  the 
  6724. difference!
  6725.  
  6726.  
  6727.  
  6728.  
  6729.  
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.  
  6739.  
  6740.  
  6741.  
  6742.                        Page 104 of 149